zoukankan      html  css  js  c++  java
  • C#之设计模式:工厂模式

    设计模式总原则:开闭原则(对扩展开放,对修改关闭)

    1.单一职责原则:每个类有单一的职责,如若不然就要把类拆分。

    2.里氏替换原则:开闭原则是实现抽象化,而里氏替换原则是抽象化的具体实现。

    3.依赖倒转原则:是开闭原则的基础,面向接口编程,依赖抽象而不是依赖具体。

    4.接口隔离原则:使用多个隔离的接口,比使用单个更好。

    5.迪米克原则:无论被依赖的类有多么复杂,都应该将逻辑封装到方法内部,提供给外部访问。

    设计模式分类:

    创建型模式:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式

    结构型模式:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式、MVC

    行为型模式:策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式

    并发型模式、线程池模式

    工厂模式

    工厂类是负责创建其他实例的类,可以根据参数创建不同类的实例。

    简单工厂模式: 有一个核心工厂有CreateProduct的方法,根据传入的参数创建不同的实例。

      特点:又叫静态工厂方法。只生产一种品牌的产品,且在工厂中动态的创建。要扩展产品类型,需要修改工厂类。

     工厂模式: 定义一个用于创建对象的接口,让子类决定实例化哪个类。让具体的工厂去生产具体的类。

    新增一个产品必须要新增一个与其对应的工厂类,每一个具体工厂都负责生产一种对应的具体产品。并且所有的这些产品都属于同一大类。

    和简单工厂相比,工厂方法将生成具体产品的任务交给了具体的产品工厂。 

      特点:生产产品在子类中进行,可以生产多个品牌的产品。

     抽象工厂模式:一个具体的工厂类可以生产多个大类,也就是一个超级工厂管理其他的工厂。

    在工厂模式的基础上增加创建产品的接口,在具体子工厂中实现产品创建。

      特点:生产模式是一样的,可以生产多个类型多个品牌的产品。
  • 相关阅读:
    PCB 规则引擎之脚本语言JavaScript应用评测
    PCB 挺有意思的基数排序----C#代码实现
    PCB NOSQL MongoDb MI流程指示数据存储结构
    PCB javascript解析Gerber274X格式实现方法
    PCB javascript解析钻孔(Excellon)格式实现方法
    PCB 围绕CAM自动化,打造PCB规则引擎
    PCB Genesis拼SET画工艺边 实现方法(一)
    约瑟夫环的三种解法
    Microsoft edge真香!
    商城规格参数
  • 原文地址:https://www.cnblogs.com/tomatokely/p/15730617.html
Copyright © 2011-2022 走看看