我看的是Java语言设计模式,以下的结论也都是基于Java语言来解释说明的,虽说没有看过其他语言的设计模式,不过想来也是有共通的地方,设计模式更多的是一种指导思想,而不完全是一种条条框框。
Java语言是一种面向对象语言,代码的实现都是基于对象来实现的。
那么代码又是如何实现某个功能呢?
1:创建一个对象,
2:调用对象的方法,
3:代码中有许多是复杂功能,这就需要不同类的不同方法协同实现
按照这三个步骤把设计模式分类就是(参考了极客时间王争大神的《设计模式之美》)
1:创建型
2:行为型
3:结构型
设计模式也就是上面每个步骤中的不同招式,目的是相同的,但是实现方式不一样,这种有指导性的实现方式,就可以看成是设计模式。
第一步是创建对象,有关创建对象的设计模式就是创建型设计模式,包括:单例模式,工厂模式(工厂方法和抽象工厂),建造者模式,原型模式
第二步是调用方法,那么方法的行为以及具体实现就是行为型的设计模式,包括:观察者模式,策略模式,模板模式,责任链模式,迭代器模式,状态模式,访问者模式 ,备忘录模式 ,命令模式 ,解释器模式 ,中介模式 ,
这么多模式别害怕,常用的也就一半(粗体的),先把常用的弄明白,不常用的最后再去了解。不常用,说明终归是使用场景不常见,或是这种模式落伍了。
第三步就是方法之间的协同工作,是一个比较宏观的,有点空间感。上下的方法,前后的方法之间的结构逻辑关系。这类设计模式就是更好的协调不同的方法,包括:代理模式,桥接模式,装饰者模式,适配器模式,门面模式,组合模式 ,享元模式
下面会把每个设计模式单独写一篇文章来说明。
以上模式会持续完善。
如果,大家觉得的文章对自己有帮助的话,可以关注一下我的公众号,有啥好的不好的话,都可以在公众号里面留言,交个朋友。