志在指尖
用双手敲打未来

程序员内功心法-设计模式

规划形式一共分为三大类
创立型形式:用于描绘“怎样创立目标”,它的主要特点是“将目标的创立与使用别离”。GoF中供给了单例、原型、工厂办法、笼统工厂、制作者等5种创立型形式。
结构型形式:用于描绘怎么将类或目标按某种布局组成更大的结构,GoF中供给了署理、适配器、桥接、装修、外观、享元、组合等7种结构型形式。
行为型形式:用于描绘类或目标之间怎样彼此协作共同完成单个目标都无法单独完成的任务,以及怎样分配责任。GoF中供给了模板办法、战略、命令、责任链、状况、观察者、中介者、迭代器、拜访者、备忘录、解说器等11种行为型形式。
23种规划形式,简要描绘
单例(Singleton)形式:某个类只能生成一个实例,该类供给了一个全局拜访点供外部获取该实例,其拓展是有限多例形式。
原型(Prototype)形式:将一个目标作为原型,经过对其进行复制而克隆出多个和原型类似的新实例。
工厂办法(FactoryMethod)形式:界说一个用于创立产品的接口,由子类决议出产什么产品。
笼统工厂(AbstractFactory)形式:供给一个创立产品族的接口,其每个子类能够出产一系列相关的产品。
制作者(Builder)形式:将一个杂乱目标分解成多个相对简单的部分,然后依据不同需求别离创立它们,最后构建成该杂乱目标。
署理(Proxy)形式:为某目标供给一种署理以控制对该目标的拜访。即客户端经过署理间接地拜访该目标,从而约束、增强或修改该目标的一些特性。
适配器(Adapter)形式:将一个类的接口转换成客户希望的别的一个接口,使得原本因为接口不兼容而不能一起工作的那些类能一起工作。
桥接(Bridge)形式:将笼统与完成别离,使它们能够独立变化。它是用组合联系代替承继联系来完成,从而下降了笼统和完成这两个可变维度的耦合度。
装修(Decorator)形式:动态的给目标增加一些责任,即增加其额定的功用。
外观(Facade)形式:为多个杂乱的子系统供给一个共同的接口,使这些子系统愈加简单被拜访。
享元(Flyweight)形式:运用同享技能来有效地支撑大量细粒度目标的复用。
组合(Composite)形式:将目标组合成树状层次结构,使用户对单个目标和组合目标具有共同的拜访性。
模板办法(TemplateMethod)形式:界说一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类能够不改动该算法结构的情况下重界说该算法的某些特定步骤。
战略(Strategy)形式:界说了一系列算法,并将每个算法封装起来,使它们能够彼此替换,且算法的改动不会影响使用算法的客户。
命令(Command)形式:将一个恳求封装为一个目标,使宣布恳求的责任和履行恳求的责任分割开。
责任链(ChainofResponsibility)形式:把恳求从链中的一个目标传到下一个目标,直到恳求被响应为止。经过这种方法去除目标之间的耦合。
状况(State)形式:允许一个目标在其内部状况发作改动时改动其行为能力。
观察者(Observer)形式:多个目标间存在一对多联系,当一个目标发作改动时,把这种改动告诉给其他多个目标,从而影响其他目标的行为。
中介者(Mediator)形式:界说一个中介目标来简化原有目标之间的交互联系,下降系统中目标间的耦合度,使原有目标之间不必彼此了解。
迭代器(Iterator)形式:供给一种办法来顺序拜访聚合目标中的一系列数据,而不露出聚合目标的内部表明。
拜访者(Visitor)形式:在不改动调集元素的前提下,为一个调集中的每个元素供给多种拜访方法,即每个元素有多个拜访者目标拜访。
备忘录(Memento)形式:在不破坏封装性的前提下,获取并保存一个目标的内部状况,以便今后康复它。
解说器(Interpreter)形式:供给怎么界说语言的文法,以及对语言语句的解说办法,即解说器。

未经允许不得转载:IT技术网站 » 程序员内功心法-设计模式
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载