一、简单工厂模式 1、内容 2、角色 3、优点 4、缺点 二、工厂方法模式 1、内容 不直接向客户端暴露对象创建的实现细节,而是通过一个工厂类来负责创建产品类的实例 2、角色 1、工厂角色(Factory) 2、抽象产品角色(Product) 3、具体产品角色(Concrete Product) 3 ...
分类:
其他好文 时间:
2018-10-01 11:51:38
阅读次数:
132
模板设计模式定义: 定义一个操作中算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变算法的结构即可重定义该算法的某些特定步骤。 通俗点的理解就是 :完成一件事情,有固定的数个步骤,但是每个步骤根据对象的不同,而实现细节不同;就可以在父类中定义一个完成该事情的总方法,按照完成事件需要的步 ...
分类:
其他好文 时间:
2018-09-29 22:02:31
阅读次数:
179
设计模式总共有六大基本原则,统称为SOLID (稳定)原则,分别是S-单一职责原则(Single Responsibility Principle), O-开闭原则(Open closed Principle),L-里氏替换原则(Liskov Substitution Principle),L-迪米 ...
分类:
其他好文 时间:
2018-09-23 13:50:02
阅读次数:
204
1. 现实需求 客户有了新的需求,这时我们直接新增策略即可,改很少的代码。基本符合我们面向对象原则中的开闭原则(对扩展开放,对修改关系),实现了高内聚低耦合。 2. 策略模式定义 策略模式,又叫算法簇模式,就是定义了不同的算法族,并且之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 3. ...
分类:
编程语言 时间:
2018-09-22 18:33:49
阅读次数:
135
设计思想:面向接口编程;应对变化(数量、类型、扩展),封装变化; (一)设计原则1. 封装变化 2. 多用组合,少用继承 3. 针对接口编程,不针对实现编程 4. 为交互对象之间的松耦合设计而努力 5. 开闭原则(对扩展开放,对修改关闭) 6. 依赖倒置原则:要依赖抽象,不要以来具体类 *变量不可以 ...
分类:
编程语言 时间:
2018-09-20 01:01:13
阅读次数:
180
简单工厂模式最大的缺点是当有新产品要加入到系统中时,必须修改工厂类,需要在其中加入必要的业务逻辑,这违背了“开闭原则”。此外,在简单工厂模式中,所有的产品都由同一个工厂创建,工厂类职责较重,业务逻辑较为复杂,具体产品与工厂类之间的耦合度高,严重影响了系统的灵活性和扩展性,而工厂方法模式则可以很好地解... ...
分类:
其他好文 时间:
2018-09-17 19:50:44
阅读次数:
154
引言我们在编程的时候,有时候会遇到,一个对象的行为动作会由对象的状态来决定的,也就是对象的行为是由状态来决定,如果对象的状态很多,那么也会由很多不同的行为,这时候我们一班会 if –else if—来判断对象的行为,当对象的行为或者状态发生变化时,就需要更改之前的代码,这样的设计就违背了开闭原则,而... ...
给目标对象提供一个代理对象。有代理对象控制目标对象的引用。 1、间接的访问目标对象; 2、对原有的业务增强; 比如:Spring的注解; Mybatis同过mapper接口访问数据库 静态代理: 遵循“开闭原则”,面向对象最重要的一个原则,对扩展进行开发,对修改关闭。应用需求发生变化的时候,对模块进 ...
分类:
编程语言 时间:
2018-09-08 00:44:34
阅读次数:
149
1、开闭原则(Open Close Principle) 开闭原则的意思是:对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。 2 ...
分类:
其他好文 时间:
2018-09-06 12:29:45
阅读次数:
153
设计模式总共有六大基本原则,统称为SOLID (稳定)原则,分别是S-单一职责原则(Single Responsibility Principle), O-开闭原则(Open closed Principle),L-里氏替换原则(Liskov Substitution Principle),L-迪米 ...
分类:
其他好文 时间:
2018-09-03 00:03:55
阅读次数:
176