摘要: 观察者模式(行为型模式) 定义 观察者模式(Observer),定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。[DP] 自己的理解:观察者模式又叫发布-订阅(Publish/Subscribe)模式,通 阅读全文
posted @ 2019-05-30 02:39 fonxi 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 建造者模式(创建型模式) 定义 建造者模式(Builder),将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。[DP] 自己的理解:建造者模式是把复杂得对象的构建分离出来,然后调用者不用知道对象的构建细节,只需要指定类型,就可以得到构建好的对象,且对象完整。 特点 结构 B 阅读全文
posted @ 2019-05-28 00:49 fonxi 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 外观模式(结构型模式) 定义 外观模式(Facade),为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易试用。[DP] 外观模式简单点说,就是通过外观类把所有的子系统类进行组合,供外部调用。 这样既不暴露内部,也降低了耦合。对照下面这张图能很好的理解外 阅读全文
posted @ 2019-05-27 00:42 fonxi 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 原型模式 定义 原型模式(Prototype),用原型实例制定创建对象的种类,并且通过拷贝这些原型创建新的对象。[DP] 优缺点 优点: 缺点: 特点 结构 Prototype:原型父类 ConcretePrototype1:子原型类 ConcretePrototype2:子原型类 代码 例子:展示 阅读全文
posted @ 2019-05-22 23:19 fonxi 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 模板方法模式 定义 模板方法模式(Template Method),定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。[DP] 优缺点 优点: 缺点: 特点 结构 AbstractClass:拥有模板方法的父类 Concre 阅读全文
posted @ 2019-05-22 21:57 fonxi 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 工厂方法模式 定义 工厂方法(Factory Method)模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色 阅读全文
posted @ 2019-05-16 04:41 fonxi 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 设计模式的六大原则 单一职责原则(Single responsibility principle):一个类的职责应该单一 (类如果职责单一,那导致类修改的原因也会唯一,不会因为多种原因都要去修改类) 开放-关闭原则(Open Close Principle):也叫开闭原则,要求程序对扩展开放,对修改 阅读全文
posted @ 2019-05-14 05:13 fonxi 阅读(442) 评论(0) 推荐(0) 编辑
摘要: 装饰模式(结构型模式) 装饰模式(Decorator),动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。[DP] 自己的理解:在不对原有类进行修改的情况下动态的对它进行扩展一些功能 优缺点 优点: 缺点: 特点 结构 Component:装饰对象和被装饰对象的共同父类 阅读全文
posted @ 2019-05-14 02:56 fonxi 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 前言:不包含动态代理 代理模式 代理模式为其他对象提供一种代理以控制对这个对象的访问。(代理类替代具体的实现类,代理类可根据需求添加内容而不用修改实现类) 优缺点 优点: 缺点: 结构 Subject:代理类和实现类的父类 RealSubject:具体的实现类,被代理对象 Proxy:代理类(代理对 阅读全文
posted @ 2019-05-14 01:04 fonxi 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 前言:策略模式是和简单工厂一起在几天前学的,今晚有空正好写下来 策略模式 策略模式是定义一组算法,将每一种算法都封装成共同接口的独立类中,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 优缺点 优点: 缺点: 结构 Strategy:抽象的策略(一个借口或抽象类) Concrete 阅读全文
posted @ 2019-05-12 04:42 fonxi 阅读(178) 评论(0) 推荐(0) 编辑