模式-存在的价值-感知感觉

来源:互联网 发布:mac电脑怎么输入顿号 编辑:程序博客网 时间:2024/05/09 03:22

读阎宏<<java与模式>>感知

模式化过程是把问题抽象化,在忽略细节以后,发现问题的一般性本质,并找到普遍适用的解决方案过程。而这个解决方案便是各式各样的设计模式。


由来:

在开发的过程中不断的发现问题和寻找问题的解决方案的时候,发现一些问题及解决方案不断变换面孔重复出现,而这些不同的面孔又有相同的本质。


通用:

模式锁描述的问题及问题的答案都应当是具有代表性的。


作用:

1.解决问题,比如

单例能够解决全局变量的问题。

责任链方法给每个对象一次调用处理的机会。


2.使代码结构更漂亮,更合理。

状态模式能够避免大量的if else,switch判断,而状态模式能够把重心放到状态本身上。

门面模式能够封装模块内部的细节,简化调用者的调用复杂度,降低耦合,减少了变化引起的影响。

模板模式使函数上移,放到继承关系更合适的位置。


3.方便沟通:

程序员在遇到一个问题的使用,用大量的话语说明怎样去做,怎样解决一个问题,如果是模式,说模式的名字更能快速沟通。


4.指出了问题

毫无疑问,很多模式都有一些比较特定的使用场景,而我们通过学习设计模式,即便暂时没有用到,却给我们知晓了一些潜在的问题。诸如,

调停者让我们知道了避免了太多的耦合调用。

单例模式让我们知道某些场景,不应该有两个实例。

享元模式使我们对于引起了对大量粒度的访问,内存及设备运算能力的重视。