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

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

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

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

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

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

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

 

设计模式分类:

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

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

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

并发型模式、线程池模式

 

工厂模式

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

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

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

 

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

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

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

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

 

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

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

  特点:生产模式是一样的,可以生产多个类型多个品牌的产品。

 

 

posted @ 2021-12-25 16:40  番茄玛丽  阅读(358)  评论(0编辑  收藏  举报