设计模式总结(1)(内容来源与大话设计模式)

来源:互联网 发布:论文数据造假怎么判定 编辑:程序博客网 时间:2024/04/29 20:41
面向对象的基本概念汇总:
1.开放封闭原则:
软件的实体应该可以扩展,但是不可修改
2.依赖倒转原则
高层的模块不应该依赖低层的模块,两者都应该依赖抽象。
抽象不应该依赖细节,细节应该依赖抽象。
3.里氏代换原则
子类型必须能够替换他们的父类型
4.迪米特法则
如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。
5.合成/聚合复用原则
尽量使用合成/聚合,尽量不要使用类继承


设计模式的一句话概括:
1.迭代器模式
提供一种方法顺序访问一个聚合对象中各个元素,而有不是暴露该对象的内部表示。
2.中介者模式
用一个中介者来封装一系列的对象交互,中介者使各个对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变他们之间的相互交互。
3.单例模式
保证一个类仅有一个实例,并提供一个访问它的全局访问点
4.享元模式
运用共享技术有效地支持大量细粒度的对象
5.解释器模式
给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器是同该表示来计算式语言中的句子。
6.桥接模式
将抽象部分与它的实现部分分离,使它们都可以独立的变化。
7.访问者模式
表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作
8.命令模式
将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或纪录请求日志,以及支持可撤销的操作。
9.策略模式
它定义了算法家族,分别封装起来,让它们相互之间可以替换。此模式让算法的变化不会影响到使用算法的客户。
10.责任链模式
是多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系,将这个对象连成一条链,并沿着这条链传递该请求。
11.原型模式
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
12.代理模式
为其他对象提供一种代理一控制对这个对象的访问。
13.装饰着模式
动态地给一个对象添加一些额外的职责,此模式比生成子类更为灵活。
14.工厂方法模式
定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法是一个类的实例化延迟到其他子类。
15.模板方法模式
定义一个操作中的算法骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的结构即可重定义改算法的某些特定步骤。
原创粉丝点击