- JS调用CS里的带参方法实例
- seo流水线的操作与其规模化的应用
- .NET怎么修改和添加XML节点的内容
- dao层 entity层 service层 service.impl层 servlet层工作顺序
- 后缀为axd 的文件
- 如何把csv格式转换成Excel格式
- php类中的$this
- npm和pnpm有什么区别
- js介绍
- c#中StartsWith和EndsWidth的用法
邮箱:
手机:15383239821
.net 工厂方法模式 c# 什么是工厂模式
概念
工厂模式是用工厂方法代替new操作的一种模式。工厂方法封装了多个相关联类的new方法,每次实例化这些类的时候不需要new多次,只需要调用工厂类的对应方法即可实例化这些类,并且是通过使用一个共同的接口来指向新创建的对象。
分类
工厂模式分为三种: 简单工厂、工厂方法、抽象工厂;
简单工厂
用来生产同一等级结构中的任意产品。(不支持拓展增加产品)
简单工厂模式分为三种
1、工厂类角色:这是本模式的核心,含有一定的商业逻辑和判断逻辑,根据逻辑不通,产生具体的工厂产品。
2、抽象产品角色:它一般是具体产品继承的父类或者实现的接口。
3、具体产品角色:工厂类所创建的对象就是此角色的实例。
工厂方法
用来生产同一等级结构中的固定产品。(支持拓展增加产品)
工厂方法模式的组成
1.抽象工厂角色: 这是工厂方法模式的核心,它与应用程序无关。是具体工厂角色必须实现的接口或者必须继承的父类。
2.具体工厂角色:它含有和具体业务逻辑有关的代码。由应用程序调用以创建对应的具体产品的对象。
3.抽象产品角色:它是具体产品继承的父类或者是实现的接口。
4.具体产品角色:具体工厂角色所创建的对象就是此角色的实例。
抽象工厂
用来生产不同产品族的全部产品。(不支持拓展增加产品;支持增加产品族)
抽象工厂模式的用意为:给客户端提供一个接口,可以创建多个产品族中的产品对象。
而且使用抽象工厂模式还要满足一下条件:
1.系统中有多个产品族,而系统一次只可能消费其中一族产品
2.同属于同一个产品族的产品以其使用。
总结:
工厂方法模式是简单工厂模式的延伸,它继承了简单工厂模式的优点,同时还弥补了简单工厂模式的不足。
工厂方法模式是使用频率最高的设计模式之一,是很多开源框架和API类库的核心模式。
在工厂方法模式中,工厂方法用来创建客户所需要的产品,同时还向客户隐藏了哪种具体产品类将被实例化这一细节,用户只需要关心所需产品对应的工厂,无须关心创建细节,甚至无须知道具体产品类的类名。
基于工厂角色和产品角色的多态性设计是工厂方法模式的关键。它能够让工厂可以自主确定创建何种产品对象,而如何创建这个对象的细节则完全封装在具体工厂内部。工厂方法模式之所以又被称为多态工厂模式,就正是因为所有的具体工厂类都具有同一抽象父类。
使用工厂方法模式的另一个优点是在系统中加入新产品时,无须修改抽象工厂和抽象产品提供的接口,无须修改客户端,也无须修改其他的具体工厂和具体产品,而只要添加一个具体工厂和具体产品就可以了,这样,系统的可扩展性也就变得非常好,完全符合“开闭原则”。
- 上一篇:.NET设计模式(1): 简单工厂模式
- 下一篇:c# 工厂方法模式
-
2011-07-17如何: 限制通过 IP 地址或域名的网站访问
-
2019-11-25dtcms类库说明
-
2019-11-08pr值是什么?影响网页PR值的几个因素
-
2010-11-11网站被降级原因分析及解决方法
-
2023-01-06小程序中解构赋值
-
2023-04-10thinkphp6模型操作
