摘要:
职责链模式(chain of Responsibility):使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 结构图: 职责链的好处 关键:当客户提交一个请求时,请求是沿着链传递直至有一个Concret 阅读全文
摘要:
组合模式:将对象组合成树形结构以表示“部分-真题”的结构层次。组合模式使得用户对单个对象和组合对象的使用具有一致性。 结构图: 1 using System; 2 using System.Collections.Generic; 3 using System.Text; 4 5 namespace 阅读全文
摘要:
迪米特法则:如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中的一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。 依赖倒转原则:A高层模块不应该依赖低层模块,他们都应该依赖抽象,B抽象不应该依赖细节,细节应该依赖抽象。 里氏代换原则:子类必须能够替换掉他 阅读全文
摘要:
状态模式:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 “状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂的情况。把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化。” 结构图 当一个对象的行为取决于他的状态,并且它必须在运行时刻根据 阅读全文
摘要:
抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 阅读全文
摘要:
观察者模式:(发布-订阅模式)定义了一种一对多的依赖关系,让多个观察者对象同时监听某个主题对象。这个主题对象在状态发生变化时,会通知所有的观察者对象,使它们能够自动更新自己。 结构图: Subject类,可翻译为主题或者抽象通知者,一般用一个抽象类或者一个接口实现。 1 abstract class 阅读全文
摘要:
当我们要完成在某一细节层次一致的一个过程或者一个步骤,但其个别步骤在更详细的层次上的实现可能不同时,我们通常考虑用模板方法模式来处理 模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可以重定义该算法的某些特定步骤 结构图: 实现代码(C# 阅读全文
摘要:
原型模式:用原型实例指定要创建对象的实例,并通过拷贝哲学原型创建新的对象。 结构图: 一般在初始化的信息不发生变化的情况下,克隆是最好的办法。这既隐藏了对象创建的细节,又对性能是大大的提高(减少了new运算的大大的开销); 1 using System; 2 using System.Collect 阅读全文
摘要:
简单工厂模式:本着高内聚低耦合的原则,将系统的逻辑部分和功能分开 例如简易计算器的实现代码 1 using System; 2 using System.Collections.Generic; 3 using System.Text; 4 5 namespace Operation 6 { 7 / 阅读全文
摘要:
一:取字符串中第几个字符 print "Hello"[0] 表示输出字符串中第一个字符print "Hello"[-1] 表示输出字符串中最后一个字符 二:字符串分割 print "Hello"[1:3] #第一个参数表示原来字符串中的下表#第二个阐述表示分割后剩下的字符串的第一个字符 在 原来字符 阅读全文