设计模式

Posted by admin On 9月 - 19 - 2022

也就是人们传说的思想。

关于建造者模式的例子:http://www.cnblogs.com/wxisme/p/4520998.html5\\.原型模式(PrototypePattern)原型模式只要用来实现对象的复制,对于创建或者复制一个对象的实例非常复杂的时候就可以使用原型模式来拷贝。

FactoryMethod使一个类的实例化延迟到其子类。

它维持了类的封装性。

这本书由著名的四人帮——GoF(GangofFour)编写,其中总结了23种设计模式,并将他们分成几个大类。

访问者模式要求访问者对象访问并调用每一个元素对象的操作,这意味着元素对象有时候必须暴露一些自己的内部操作和内部状态,否则无法供访问者访问。

设计模式对于程序员而言并不陌生,每个程序员在编程时都会或多或少地接触到设计模式。

当客户对象请求一个享元对象时,享元工厂检査系统中是否存在符合要求的享元对象,如果存在则提供给客户;如果不存在的话,则创建一个新的享元对象。

里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。

**2.8.****桥接模式****(Bridge)**由于实际的需要,某个类具有两个以上的维度变化,如果只是使用继承将无法实现这种需要,或者使得设计变得相当臃肿。

因为从某种意义上说,几乎所有模式都是使用继承机制,因此,此处的类模式是指集中处理类间关系的模式,只有很少部分模式属于此类。

书里只重点讲了13个设计模式,之后在总结headfirst附录的设计模式时,我都是按照如下的结构在走,感觉从整理笔记变成了在写填空题一样舒适。

但对大项目的开发或者框架设计,用设计模式来组织代码显然更好。

策略提供了一种用多个行为中的一个行为来配置一个类的方法。

他们所提出的设计模式主要是基于以下的面向对象设计原则。

*桥接模式:桥接模式的目的是将接口部分和实现部分分离,从而让它们可以较为容易、也相对独立地加以改变。

在这里插入图片描述(https://img-blog.csdnimg.cn/ee6ee8738a964c1287f34060fed63dd2.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a-S5YawLVNZ,size_20,color_FFFFFF,t_70,g_se,x_16pic_center)11迭代器模式**定义**:提供一种方法顺序访问一个聚合对象种的各个元素,而又不许暴露该对象的内部表示。

**原型模式(PrototypePattern):**用原型实例指定创建对象的种类,并且通过拷贝这个原型来创建新的对象。

比如饿汉、懒汉单例模式,简单、抽象工厂模式。

但是,这次好像不怎么灵了,因为,一旦这样做,我们就又回到了原点—钢笔和油漆桶不得不实现不需要的方法。

因为可以在运行时刻改变对象组合关系,所以对象组合方式具有更大的灵活性。

想要达到这样的效果,我们需要使用接口和抽象类等,后面的具体设计中我们会提到这点。

c.Behavioral(行为型):描述类或对象如何交互及如何分配职责。

**访问者(Visitor)模式**在不改变集合元素的前提下,为一个集合中的每个元素提供多种访问方式,即每个元素有多个访问者对象。

就扩展功能而言,它比生成子类方式更为灵活。

避免职责耦合在一起,避免一个职责的变化影响到其他职责。

所以策略模式就是定义了算法族,分别封装起来,让他们之前可以互相转换,此模式然该算法的变化独立于使用算法的客户。

Add your comment