设计模式
文章平均质量分 77
骑猪去兜风..
无
展开
-
工厂方法模式
“工厂方法模式”属于“对象创建”模式“对象创建”模式通过“对象创建”模式绕开new,来避免对象创建(new)过程中所导致的紧耦合(依赖具体类),从而支持对象创建的稳定。它是接口抽象之后的第一步工作。工厂方法模式动机在软件系统中,经常面临着创建对象的工作,由于需求的变化,需要创建的对象的具体类型经常变化。如何应对这种变化?如何绕开常规的对象创建方法,提供一种“封装机制”来避免客户...原创 2018-08-31 19:52:39 · 140 阅读 · 0 评论 -
抽象工厂模式
“工厂方法模式”属于“对象创建”模式“对象创建”模式通过“对象创建”模式绕开new,来避免对象创建(new)过程中所导致的紧耦合(依赖具体类),从而支持对象创建的稳定。它是接口抽象之后的第一步工作。抽象工厂模式动机在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作。同时,由于需求的变化,往往存在更多系列对象的创建工作。如何应对这种变化?如何绕过常规的对象创建方法,提...原创 2018-08-31 22:11:34 · 124 阅读 · 0 评论 -
简单工厂模式
简单工厂模式简介简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式。实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。包含的角色简单工厂模式包含三个角色:(1)工厂类Factory:工厂类是用来制造产品的。因此,在Factory中有一个用于制造产品的Create函数或者Ge...原创 2018-09-02 09:53:42 · 232 阅读 · 0 评论 -
策略模式
“组件协作”模式现代软件专业分工之后的第一个结果是“框架与应用程序的划分”,“组件协作”模式通过晚期绑定,来实现框架与应用程序之间的松耦合,是二者之间协作时常用的模式。策略模式动机在软件构建过程中,某些对象使用的算法可能多种多样,经常改变,如果将这些算法都编码到对象中,将会使对象变得异常复杂;而且有时候支持不使用的算法也是一个性能负担。如何在运行时根据需要透明地更改对象的算法?...原创 2018-09-02 14:30:22 · 233 阅读 · 0 评论 -
观察者模式
“组件协作”模式现代软件专业分工之后的第一个结果是“框架与应用程序的划分”,“组件协作”模式通过晚期绑定,来实现框架与应用程序之间的松耦合,是二者之间协作时常用的模式。观察者模式动机在软件构建过程中,我们需要为某些对象建立一种”通知依赖关系“----一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知。如果这样的依赖关系过于紧密,将使软件不能很好地抵御变化。...原创 2018-09-21 09:39:55 · 474 阅读 · 0 评论 -
单例模式
一、面向对象设计原则(一共八种)面向对象设计原则(1)依赖倒置原则(DIP)·高层模块(稳定)不应该依赖于低层模块(变化),二者都应该依赖于抽象(稳定)。·抽象(稳定)不应该依赖于变化),实现细节应该依赖于抽象(稳定)。面向对象设计原则(2)开放封闭原则(OCP)·对扩展开放,对更改封闭。·类模块应该是可扩展的,但是不可修改。面向对象设计原则(3)单一职责...原创 2018-10-19 19:53:15 · 234 阅读 · 0 评论 -
装饰模式
装饰模式:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。有时我们希望给某个对象而不是整个类添加一些功能。比如有一个手机,允许你为手机添加特性,比如增加挂件、屏幕贴膜等。一种灵活的设计方式是,将手机嵌入到另一对象中,由这个对象完成特性的添加,我们称这个嵌入的对象为装饰。这个装饰与它所装饰的组件接口一致,因此它对使用该组件的客户透明。下面给出装饰模式的UML图。...转载 2019-03-22 21:28:55 · 227 阅读 · 0 评论