• C#之设计模式:工厂模式


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

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

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

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

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

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

    设计模式分类:

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

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

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

    并发型模式、线程池模式

    工厂模式

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

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

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

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

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

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

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

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

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

      特点:生产模式是一样的,可以生产多个类型多个品牌的产品。
  • 相关阅读:
    java swing学习
    JCheckBox相关知识点
    【python 第五日】 函数闭包与装饰器
    【python第四日】 文件处理 生成器 迭代器
    【Python3 第三日】%和format格式化输出 函数
    【python第二日】运算符 数据类型(数字 字符串 列表 元组 字典 集合) 重新定义比较大小
    怎么设置博客园样式
    【python】第一日 python2和python3区别 命名方式 三种结构
    mybatis-generator.xml
    SpringBoot集成mybatis和mybatis generator
  • 原文地址:https://www.cnblogs.com/tomatokely/p/15730617.html
Copyright © 2020-2023  润新知