简单工厂的问题 昨天写了简单工厂模式,简单工厂模式虽然做到了对象的创建和使用分离,但是它有个致命的缺陷:不符合开闭原则。每当我们需要新加一个实现类的时候,我们不得不修改工厂的创建方法。 所以现在看来简单工厂模式的工厂责任还是太重,每种实现类都需要由这个工厂来创建,所以每增加一个产品的实现,都需要修改 ...
分类:
其他好文 时间:
2020-07-15 01:14:57
阅读次数:
75
为什么要用工厂? 用工厂的主要目的是把对象的创建和使用分离,这比较符合单一职责原则,工厂负责创建产品,调用者负责使用产品,如果调用者既需要负责创建产品又需要负责使用产品,那么耦合性会比较高。 以一个常见的登录功能为例: class HibernateUserDao { public void get ...
分类:
其他好文 时间:
2020-07-13 23:11:59
阅读次数:
113
一.简述 通过TICK(Telegraf+Influxdb+Chronograf+Kapacitor)进行主机性能监控告警,职责描述如下: Telegraf的职能是数据采集,用于主机性能数据,包括主机CPU、内存、IO、进程状态、服务状态等 Influxdb的职能是时序数据库,用于存储Telegra ...
分类:
数据库 时间:
2020-07-13 15:22:57
阅读次数:
138
HSRP/VRRP,热备份网关协议 技术背景 一个高可用性的网络肯定会在设计之初就考虑单点故障所带来的影响,所以都会选择可实现冗余备份的设计,在前文中提到的STP,生成树协议就是这样的操作,可是当数据到达了三层,IP层面,是否也有此类的协议呢?那就是HSRP/VRRP/GLBP 部署场景 双网关情况 ...
分类:
其他好文 时间:
2020-07-13 13:20:53
阅读次数:
104
面向对象的四个好处,是可维护、可扩展、可复用和灵活性好。PC电脑里的易插拨,不管硬件哪一个出问题,都可以不影响别的部件的前提下进行修改或替换< >面向对象的强内聚,松耦合。 设计模式的几大原则: 单一职责原则,就是指就一个类而言,应该仅有一个引起它变化的原因。 开放—封闭原则是说对扩展开发,对修改关 ...
分类:
其他好文 时间:
2020-07-12 22:12:51
阅读次数:
76
https://www.bilibili.com/video/BV1dk4y1r752?from=search&seid=12555269421119713078 Why数据驱动? 职责分离;分工协作,策划配表;易维护;外部数据中心,sql数据库;易调试,易迭代 少硬编码数据:c++中尽量少写,蓝图 ...
分类:
其他好文 时间:
2020-07-12 18:41:26
阅读次数:
111
迭代器模式是针对集合对象而生的,对于集合对象而言,肯定会涉及到对集合的添加和删除操作,同时也肯定支持遍历集合元素的操作,我们此时可以把遍历操作放在集合对象中,但这样的话,集合对象既承担太多的责任了,面向对象设计原则中有一条就是单一职责原则,所有我们要尽可能地分离这些职责,用不同的类取承担不同的责任, ...
分类:
其他好文 时间:
2020-07-12 17:12:04
阅读次数:
61
设计模式 设计模式的目的 代码重用性 可读性 可拓展性(可维护性) 可靠性 提高程序对外体现高内聚 低耦合 设计模式的原则 单一职责原则 降低类的复杂度一个类只负责一项职责 提高类的可读性,可维护性。 降低变更引起的风险 通常情况下,遵守单一职责原则,除非逻辑足够简单,可在代码级反单一职责原则,一个 ...
分类:
其他好文 时间:
2020-07-11 19:17:07
阅读次数:
62
1、单一职责原则 例:一个类只对一个表进行操作,尽量不要操作多张表的增删改查。 解决方式:可以拆分成多个类。2、接口隔离原则 例:多个类实现同一个接口,但并没有使用到这个接口的所有方法。 解决方式:可以拆分成多个接口,让不同类去实现自己所需要的接口。3、依赖倒转原则 例:高层建筑为设计(接口和抽象类 ...
分类:
其他好文 时间:
2020-07-10 19:24:57
阅读次数:
63
【js设计模式】SOLID五大设计原则 一、用Promise来说明单一职责原则、开放封闭原则。 function loadImg(src){ var promise = new Promise(function(resolve,reject){ var img = document.createEl ...
分类:
Web程序 时间:
2020-07-10 14:55:53
阅读次数:
72