命名规范 接口名以 大写字母 I 开头 类名大写字母开头 私有类以下划线加大写字母开头 公开方法名(public)以大写字母开头 非公开方法名以下划线在大写字母开头 字段(常量除外) 都是私有的 并且以下划线加小写字母开头 属性 都是公开的 并且以小写字母开头 常量 私有以下划线加大写字母开头 常量 公开以大写字母开头 设计模式 以下是创建对象的模式 简单工厂方法 public static Food CreateFood(string type){ switch(type){ case "type1": break; case "type2": break; } } 简单工厂的缺点,当需要增加功能时,需要修改原有代码,违背了开闭原则(可用反射解决)。 工厂方法 每次创建实体时,需要先创建相应的工厂,再创建实体。增加功能时,无需修改代码,增加新的工厂即可。 抽象工厂模式 对工厂方法聚合, 工厂方法只能生产一类实体,抽象工厂把所有工厂聚合在一个类中。聚合在一起生产。 建造者模式 工厂方法是创建一个单一实体。建造者模式则可以把单一实体聚合在一起,生产一个复杂对象。 原型模式 原型模式是从原来的基础上拷贝一个来使用.Clone 以下属于结构模型 适配器模式 在原来的基础上,增加一个接口转变参数,适配老的接口。 桥接模式 让另外一个接口实现具体的功能 比如Class1 中 A,B,C 三个接口, Class2 中 A,B,C同样有三个接口, Class1 中执有 Class2 的实例,调用Class1中的接口时,直接呼Class2的接口。 这样实现方在 Class2 中. 好处是,当Class1 增加接口的时候,Class2 可以不作出修改。 装饰者模式 理由继承增加功能,原来的功能不变, 可以有多层功能。 组合模式 把类似的方法抽象出来, 用一个根节点管理。是树形结构的。 外观模式 对外暴露一个接口,外部使用同一调用这个接口,在内部由其他类型协调合作处理接口的具体事务。相当于一个黑盒, 享元模式 对象共享化, 把共享的部分放在内部(不会岁环境更改),会更改的地方使用参数传递。目的是减少对象的创建。字符串的驻留机制 代理模式 接口调用时,调用代理的接口,代理再调用实例方法,代理持有实例, 当实例发生改变时,只需要跟换代理的实例。 模板方法 抽象类中实现方法,在方法的中途调用抽象方法,等实例方法来填充 命令模式 由命令 与 执行者组成 执行者去处理命令. 状态者模式: 状态抽象为对象, 处理事务有状态实例来处理,如果发生状态改变,则创建新的状态实例。 优点是增加状态, 不需要改变原来代码 策略者模式: 计算某个值时,使用不同策略得出不同结果 责任链模式: 处理事务自己处理不了就往下一个事务处理者抛出,直到处理完毕 访问者模式: 使数据外部可读,隐藏数据,不可修改 备忘录模式 允许对数据副本保存,用于下次恢复