【设计模式】 建造者
摘要:【设计模式】 建造者1. 分离父类方法的主流程和主流程内子流程的实现2. 适用场景 a. 子类各方法间调用顺序一致, 则可对这些方法进行封装3. 代码 class Builder { public static void Test() { ...
阅读全文
【设计模式】 外观模式
摘要:【设计模式】 外观模式1. 将子系统多个功能封装在一起, 使调用者可以更方便的调用, 并降低了子系统间的耦合度2. 使用场景 : 一个类需要调用多个子类的方法3. 代码 class Facade { public static void Test() { ...
阅读全文
【设计模式】模板方法
摘要:【设计模式】模板方法1. 将子类相同的方法抽象到父类,不同的方法以重写来实现2. 适用场景 : a. 子类间主方法的流程一样且有大量重复代码3. 代码 class TemplateMethod { public static void Test() { ...
阅读全文
【设计模式】 原型
摘要:【设计模式】 原型1. 以一个对象为原型, 通过复制原型创建新的对象2. 适用场景 : a . 需要创建多个对象,且对象间只有个别属性需要改变, 使用原型可减少创建对象的开销3. 代码 class Prototype { public static void Test()...
阅读全文
【设计模式】 代理模式
摘要:【设计模式】 代理模式一. 代理模式1. 对现有对象进行封装,以控制对该对象的访问2. 适用场景 : a. 做对外的接口, 有了代理可以起到过滤作用,只代理想公开的功能,不像公开的功能就不做代理 b. 增加安全性, 可以在代理层加上安全验证3. 代码 public class Proxy ...
阅读全文
【设计模式】 装饰模式
摘要:【设计模式】 装饰模式一. 装饰模式1. 动态的给现有对象添加功能2. 适用场景 : a. 对老系统(老功能)进行扩展时, 使用该模式可在不修改原代码的基础上进行扩展, 最主要的是不会对现有系统产生影响 b. 如果一个对象有太多功能时, 可以用该模式来分离部分功能3. 代码 class D...
阅读全文
【设计模式】 策略模式
摘要:【设计模式】 策略模式一. 策略模式1. 对相同功能不同实现的一系列算法的封装, 使切换算法时不会影响调用者2. 适用场景 : a.需要根据条件频繁切换算法的地方3. 代码 class Strategy { public static void Test() {...
阅读全文
【设计模式】 工厂方法
摘要:【设计模式】 工厂方法 1. 由对应的工厂来创建对象 2. 与简单工厂相比,代码设计复杂度提高了,调用也变得复杂了,但维护成本降低了,每次添加新的类时,只要添加对应的工厂,而不需要修改原有代码。 简单工厂每次添加新的类,需要修改原有创建对象的方法。 3. 更符合开闭原则 4. 代码 ...
阅读全文
【设计模式】 分类
摘要:【设计模式】 分类一. 创建型 简单工厂模式(Simple Factory) 工厂方法模式(Factory Method) 抽象工厂模式(Abstract Factory) 创建者模式(Builder) 原型模式(Prototype) 单例模式(Singleton)二. 结构型 外观模...
阅读全文
【设计模式】 感想
摘要:【设计模式】 感想1.五大设计原则要尽量遵守2. 设计模式,部分模式感觉有点太过复杂,有点小题大作,有点绕圈子的感觉, 虽然代码设计的很优美,但对于大多数人来说,开发,阅读和维护起来会更困难不过,设计模式是值得学习的,不是学习它的模式而是学习它的解决思路
阅读全文
【设计模式】 类和接口
摘要:【设计模式】 抽象类和接口一. 抽象类 1. 不能实例化 2. 内部方法可以有实现,也可以是是抽象方法 3. 内部属性和方法有访问修饰符 4. 抽象子类继承时, 父类抽象方法可以不实现 5. 单一继承 6. 相同属性,相同方法(可以是不同实现)用抽象类, 因内部方法可以有实现,可以在父类...
阅读全文
【设计模式】 简单工厂
摘要:一. 简单工厂 1. 通过 switch 判断,创建对应的类型实例 2. 代码 public static CalBase GetCal(string oper) { switch (oper) { ...
阅读全文
【设计模式】 单例模式
摘要:【设计模式】 单例模式 (类只允许实例化一次)一. 代码实现 1. 私有构造函数 + 私有静态变量+ 公开静态函数 a. 代码简洁,但使用静态变量和静态函数会一直占用内存,不过已现在的硬件配置,无所谓了 b. 代码 private SingletonClass() { } priv...
阅读全文
【设计模式】 五大原则
摘要:【设计模式】 五大原则一. 单一职责 (单个类,接口,方法只有一个功能) 应用 : 代码设计规范 1. 类的设计 对应一个功能模块 2. 方法的设计 对应一个功能, 代码行不应超过10行二. 开闭原则 (可以扩展,不能修改) 应用 代码严谨 1. 方法完成后, 需要经过完整的测...
阅读全文