概念性内容,只是从理解入手,每个人理解不一样,细节可以自己找些demo慢慢体会.
工厂模式 :
就是将特定的功能打包,直接调用,里面至于做什么,直接用就可以了.你买了一部iPhone,开机直接用,从来不关心里面的电路结构,软件系统怎么运作的.
抽象工厂:
也可以说是工厂模式的一些特殊形式,好比,一条iPhone的产品线,有iPhone4 到 iPhone7,抽象工厂就是将这些iPhone的产品分级分出来,以及以后的iPhone8.9.10....,这种模式根据具体不同的类型不同的需求去扩展.因为需要根据需求来定,所以抽象.
设配器模式:
可以理解为你的MacBook笔记本需要连接网线或者外界显示器,需要一个转换器,这个转化器也就是适配器了.原有的接口不动,买个(创建)一个就可以了.
策略模式:
其实我觉得和适配器模式差不多,也就是设配器模式的基础上,将这些其他的可以代替的功能的都加上,我就添加一个枚举类型,让你自由选择. 和上面的例子差不多,我的MacBook的一个雷电接口是一样的,你可以有连接网线,连接显示器,不同设备的适配器,这些不同的设配器你或许暂时不会用到,这样的设计就是策略模式.
模板模式:
通俗来讲就是:定义一个父类,有父类定义接口规范,然后不同的行为在子类中实现。这样一方面提高了代码的复用性,另一方面还可以利用面向对象的多态性,在运行时选择一种具体子类。模板模式是一种基于继承的代码复用技术,是一种类行为型模式。模板模式应该是最简单的一种设计模式,只存在继承关系,代码也相对简单。
你又可以理解为和工厂模式也没多大区别,也就是将固定好的工厂类为模板,在这个基础上开发新的功能.
简单总结:
这些实际模式其实都在用,有点类似于MVC,MVVM,其实也就是注意将代码的结构梳理清楚就可以了,自己得思路要清晰,接下来就是各种代码的抽取.
进阶
后面再整理下关于中介者模式,观察者模式.我想个比较简单粗暴的理解