摘要:
主键:唯一区分出不同的记录的字段。 选取主键原则:不使用任何业务相关的字段作为主键。 常见可作为id字段的类型: 自增整数类型 全局唯一GUID类型(GUID算法通过网卡MAC地址、时间戳和随机数生成的字符串) 联合主键:两个或更多的字段都设置为主键。(允许一列有重复) 外键:实现一对多、多对多和一 阅读全文
摘要:
主键:唯一区分出不同的记录的字段。 选取主键原则:不使用任何业务相关的字段作为主键。 常见可作为id字段的类型: 自增整数类型 全局唯一GUID类型(GUID算法通过网卡MAC地址、时间戳和随机数生成的字符串) 联合主键:两个或更多的字段都设置为主键。(允许一列有重复) 外键:实现一对多、多对多和一 阅读全文
摘要:
作用:创建可扩展的轻量级应用程序的库。可以让扩展在程序内重复使用,还可以跨程序重复使用。 导出Export:把部件放到容器中,供其它部件使用。 导入Import:把部件从容器中拿出来使用。 导入和导出必须具有相同的约定:协定类型参数 && 协定名称参数 隐式协定:协定类型参数和协定名称参数将从修饰的 阅读全文
摘要:
意图:动态地给对象增加一些额外的职责。 结构图: public abstract class Component{ public abstract void Operation(); } public class ConcreteComponent:Component{ public overrid 阅读全文
摘要:
用途:在不修改源码的情况下,为某个类增加新的方法。 注意: 1.C#只支持扩展方法,不支持扩展属性、扩展事件; 2.方法名无限制,第一个参数必须带this,表示要扩展的类; 3.定义扩展方法的类必须是静态类; 4.扩展方法虽然是public的静态方法,但是生成以后是实例方法,使用时需要先实例化对象, 阅读全文
摘要:
Virtual(虚函数):用于在基类中修饰方法。 1.在派生类中override重写该方法。在对派生类实例的调用时,该虚方法使用的是派生类重写的方法。 2.在派生类中没有重写该方法。在对派生类实例的调用中,该虚方法使用的是基类定义的方法。 注意: 1.虚函数必须有实现(哪怕是一对大括号)。 2.虚函 阅读全文
摘要:
意图:将抽象部分与实现部分分离,使它们可以独立的变化。 结构图: public abstarct class Implementor{ public abstract void OperationImpl(); } public abstarct class ConcreteImplementorA 阅读全文
摘要:
意图:将类的接口转换成客户希望的另一个接口。 结构图: 1.对象适配器 2.类适配器 对象适配器实现: public class Target{ public virtual void Request(){ ..... } } public class Adaptee{ public virtual 阅读全文
摘要:
意图:使用原型实例指定创建对象的种类,然后通过拷贝这些原型来创建新的对象。 //抽象原型 public abstract class Prototype{ public abstract void Fight(); public abstract void BegAlms(); public abs 阅读全文
摘要:
意图: 将一个复杂对象的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。 public class Car{ private IList<string> parts = new List<string>(); public void Add(string part){ parts.Add( 阅读全文
摘要:
实现:创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 public abstract class AbstractFactory(){ public abstract A CreateA(); public abstract B CreateB(); } public class 1F 阅读全文
|