当前位置: 首页 > news >正文

百度搜索官方网站昆山网站建设ikelv

百度搜索官方网站,昆山网站建设ikelv,河源网站优化,wordpress忘记密码邮件收不到邮件抽象工厂模式 介绍示例示例使用运行结果抽象工厂模式的优缺点优点缺点 总结 介绍 抽象工厂模式是一种创建型设计模式#xff0c;它提供了一种封装一组相关或相互依赖对象的方式#xff0c;而无需指定它们具体的类。它允许客户端使用抽象接口来创建一系列相关的对象#xff… 抽象工厂模式 介绍示例示例使用运行结果抽象工厂模式的优缺点优点缺点 总结 介绍 抽象工厂模式是一种创建型设计模式它提供了一种封装一组相关或相互依赖对象的方式而无需指定它们具体的类。它允许客户端使用抽象接口来创建一系列相关的对象而不必关心其实际的实现细节。 在抽象工厂模式中存在一个抽象工厂类该类定义了一组创建对象的方法这些方法可以创建一系列相关的对象包括产品对象和工厂对象。由于这些对象都是通过一个抽象接口来创建的因此它们的具体实现可以被隐藏在实际工厂类的后面。客户端只需要使用抽象工厂类来创建对象而无需关心它们的实际实现。理解这个很重要就是多态的应用 通过使用抽象工厂模式我们可以实现高层模块的隔离和解耦从而使系统更加灵活和可扩展。它还具有高度的封装性可以隐藏底层实现细节提高系统的安全性和稳定性。但是它的缺点是增加了系统的复杂性需要定义更多的抽象类和接口会增加系统的开发和维护的难度。 示例 这里依旧在之前两篇工厂模式的基础之上进行改进。 这里客户需要工厂生产塑料的笔筒和铁制笔筒另外还想生产塑料剑和铁制的剑。 下面是示例代码 class Sword //剑 { public:virtual void play() 0; };class PlasticSword :public Sword //塑料剑 { public:void play()override {cout 塑料剑舞动 endl;} };class IronSword :public Sword //铁制剑 { public:void play()override {cout 铁制剑舞动 endl;} };class AbstractFactory { public:virtual PenHolder* createPenHolder() 0;virtual Sword* createSword() 0; };class ProductPlasticFactory :public AbstractFactory { public:PenHolder *createPenHolder()override {return new PlasticPenHolder;}Sword* createSword()override {return new PlasticSword;} };class ProductIronFactory :public AbstractFactory { public:PenHolder* createPenHolder()override {return new IronPenHolder;}Sword* createSword()override {return new IronSword;} };示例使用 int main() {AbstractFactory *factory1 new ProductPlasticFactory;PenHolder*pen_Holder1 factory1-createPenHolder();Sword* sword1 factory1-createSword();pen_Holder1-introduce();sword1-play();delete factory1;delete pen_Holder1;delete sword1;AbstractFactory *factory2 new ProductIronFactory;PenHolder* pen_Holder2 factory2-createPenHolder();Sword* sword2 factory2-createSword();pen_Holder2-introduce();sword2-play();delete factory2;delete pen_Holder2;delete sword2;return 0; }运行结果 抽象工厂模式的优缺点 优点 1.分离接口和实现客户端代码只需要使用抽象工厂和抽象产品不需要关注具体实现降低了客户端与具体实现的耦合度提高了代码的可维护性和可扩展性。 2.符合开闭原则通过增加具体工厂和具体产品的实现可以增加新的功能和新的产品而不需要修改代码。这里只是针对现有的产品种类而言随着新产品的增加需要修改抽象工厂的接口继而也需要修改子工厂的接口这样就破坏了开放封闭原则。 3.保持一致性抽象工厂模式可以保证一组产品的一致性使得它们在逻辑上或者物理上都相互配合满足一定的约束条件。 缺点 1.增加复杂度引入抽象工厂和多个抽象产品的层次结构增加了系统的复杂度增加了开发难度。 2.不易扩展一旦增加了一个新的产品族就需要修改抽象工厂和所有的具体工厂和产品对系统的维护和扩展带来了一定的困难。 3.限制产品族内的产品等级结构由于抽象工厂只定义了一组产品的创建接口因此它限制了具体产品等级结构的扩展只能在产品族内扩展产品。 总结 抽象工厂设计模式确实很抽象所以需要慢慢领悟多悟几次然后再后期的开发中就可以融进自己的项目中提高程序的封装性安全性但复杂性也随之增加。
http://www.yutouwan.com/news/155466/

相关文章:

  • 德阳建设厅官方网站阳西县网络问政平台公众号
  • 给卖假性药的做网站一般要判多久搭建一个网站需要多少钱?
  • 网站建设交印花税嘛中铁建设中南分公司
  • 成都网站建设询q479185700霸屏工程施工行业在哪个网站容易找事做
  • 青岛网站推广招商免费做手机网站
  • 有用unity做网站的吗有些网址打不开怎么解决
  • 邯郸网站建设联系电话两峡一峰旅游开发公司官方网站
  • 安徽中机诚建建设有限公司网站网站克隆 有后台登录
  • 校园网站建设意义竞价托管哪家专业
  • 做国际网站有补贴吗wordpress 建立数据库连接时出错
  • 下载建设银行官方网站下载班级网页html源代码
  • 免费网站代理怎么做网店
  • 网站框架设计wordpress4.7.1漏洞
  • 运城网站推广哪家好宣传片制作公司资质
  • 做平行进口的汽车网站西安营销网站
  • 做电脑网站用什么软件好用吗网站建设源码开发
  • h5网站模板下载百度公司的业务范围
  • 网盘做网站服务器个人域名可以做公司网站么
  • 广东手机网站建设app制作平台大全
  • 新做好的网站如何做seo做网站的广告语
  • 网站备案号查询企业网站推广属于付费
  • 网站建设跳转页面怎么弄小米新手机发布
  • 亚马逊外贸网站如何做移动端wordpress主题
  • 桂林微信网站设计做网站公司大连
  • 免费做调查问卷的网站做网站建设找哪家好
  • php能自己做网站吗优秀的网站设计分析
  • html手机网站开发后端如何制作wordpress模板下载
  • saas建站 cmswordpress用户名钩子
  • 网站的登记表是怎么做的嘉兴优化网站公司哪家好
  • 建设网站需要花费多少钱企业所得税政策最新2023