16. 与设计模式相处

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/llz62378/article/details/78169507
1. 设计模式的特点:
设计模式简单来讲,就是在某种情景下,针对某种问题的的解决方法。
设计模式不是创建出来的,而是被发现的。这就需要从各种应用中进行归纳总结,抽象出来。
设计模式不能滥用,最先考虑到的应该是设计的简单性,如果添加设计模式能够提高设计的弹性,那么再去考虑使用他们。
在使用设计模式时,不仅要考虑他有利的一面,也要考虑他不利的一面,要进行权衡。

2. 设计模式的分类:
分类的方式有很多,下面列出两种常用的分类。分类的好处在于缩小搜索范围。
(1)创建型、结构型、行为型  
(2)类、对象

3. 其他设计模式:
桥接模式:实现和抽象放在不同的类层次中,使他们独立改变。
创造者模式:builder封装对象的构造过程,可以创建不同对象,在从中获取对象。
责任链模式:一个对象承担一个责任,将这一个个对象串起来,当有请求时,则利用这个链对象检查并处理请求,或是传个下一个对象。没有对象能处理这个请求时,则会传递到链的尾端。
蝇量模式:一个类的一个实例能够能表示许多虚拟实例。但这些虚拟实例没有独立的行为。
解释器模式:不同的语法规则表示成一个类。
中介者模式:当多个对象之间具有复杂的关系时,中介者可以作为沟通和控制方式。中介者使对象间彻底解耦。对象会将自己状态变化告诉中介者,也会响应中介者的请求。
备忘录模式:备忘录存储关键对象的重要状态,维护关键对象的封装。收集状态+恢复状态。
原型模式:创建给定类的实例复杂时使用。clone克隆对象。
访问者模式:访问者通过客户的引导,收集组合中所有对象的状态。组合的所有对象要添加getstate方法。

---------------------------------------------------------------------------
后记:
       head first对初级阶段学习设计模式很有帮助,书中对常用的14个设计模式进行了详细讲解,每个模式都列举了一些例子,并且通俗易懂,也很初级,因为没有涉及到很多多个模式一起使用的介绍。剩下的不是很常用的9个模式则放在最后一章进行了简要介绍,这样可以对23个设计模式有个整体的认识。在这个基础上,在去看gof的设计模式就相对容易很多。本书大概断断续续看了两个月( 至2017.08.27 ),最近 利用十一放假将之前写的内容整理了一下微笑

猜你喜欢

转载自blog.csdn.net/llz62378/article/details/78169507
今日推荐