美文网首页
Head First设计模式梳理

Head First设计模式梳理

作者: 三余无梦_ | 来源:发表于2016-11-15 16:42 被阅读34次

    基础:封装、抽象、继承、多态

    原则:

    封装变化

    多用组合、少用抽象

    针对接口编程、而不是针对实现编程

    为交互对象之间的松耦合设计而努力

    依赖抽象,不依赖具体类

    思考:

    1.模式是一种场景,和模式具体的实现无关,比如适配器模式与外观模式,虽然他们的实现类似,但是它们是为了解决不同的问题场景而使用的;

    2.好的设计应是在不修改原先的基础上增加新的功能,增量开发也是这个道理;

    3.运行期间对象关系不会改变的情况可使用继承,否则请使用组合;

    1.策略模式:定义算法族,分别封装起来,让它们之间可以相互替换,让算法的变化独立使用算法的客户;

    2.观察者模式:使对象之间定义一对多的关系,这样一来, 对象的状态变化,依赖它的对象都能够收到通知,并自动更新;

    3.装饰者模式:动态的将责任添加到对象上,而不改变对象原先的使用,虽然继承也可以给对象添加责任,但是如果需要在运行期间添加,这就需要使用装饰者模式了;

    4.工厂模式:把生成对象的责任移到工厂类上,如果修改对象的生产,可直接调整工厂类,而不用对使用方进行修改,这里就应用了【封装变化】原则;

    简单工厂:对象的创建出现在多个地方,后续可能产生变化, 所以将责任添加到工厂类上,如果有变化就只调整工厂类即可;

    工厂方法:定义一个创建对象的接口,由子类决定如何进行实例化,把创建的变化推迟到子类处理;

    抽象工厂:和简单工厂类似, 唯一的区别就是抽象工厂创建的是一族产品,而简单工厂创建的是一个产品;

    5.单例模式:

    相关文章

      网友评论

          本文标题:Head First设计模式梳理

          本文链接:https://www.haomeiwen.com/subject/ejncrttx.html