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

微信怎么设计分享网站网站建设必须买主机吗

微信怎么设计分享网站,网站建设必须买主机吗,大淘客网站建设app,wordpress 地址 .html抽象工厂模式是一种创建型设计模式#xff0c;它提供了一种在不指定具体产品类的情况下创建一系列相关或依赖对象的方法。 抽象工厂模式分为四个角色#xff1a;抽象工厂、具体工厂、抽象产品、具体产品。 抽象工厂和工厂方法其实很类似#xff0c;但也有一定的区别#…抽象工厂模式是一种创建型设计模式它提供了一种在不指定具体产品类的情况下创建一系列相关或依赖对象的方法。 抽象工厂模式分为四个角色抽象工厂、具体工厂、抽象产品、具体产品。 抽象工厂和工厂方法其实很类似但也有一定的区别 抽象工厂模式关注一系列产品对象的创建 工厂方法模式关注单个产品对象的创建 举例 假设我们有两个产品族手机Phone和电脑Laptop它们有不同的型号苹果Apple和华为HuaWei。 // 手机接口-抽象产品 class Phone { public:virtual ~Phone() {}virtual void MakeCall() 0; };// 电脑接口-抽象产品 class Laptop { public:virtual ~Laptop() {}virtual void PlayGame() 0; };// 华为手机-具体产品 class HuaWeiPhone: public Phone { public:virtual void MakeCall() override{std::cout 华为手机打电话 std::endl;} };// 华为电脑-具体产品 class HuaWeiLaptop: public Laptop { public:virtual void PlayGame() override{std::cout 华为电脑玩游戏 std::endl;} };// 苹果手机-具体产品 class ApplePhone: public Phone { public:virtual void MakeCall() override{std::cout 苹果手机打电话 std::endl;} };// 苹果电脑-具体产品 class AppleLaptop: public Laptop { public:virtual void PlayGame() override{std::cout 苹果电脑玩游戏 std::endl;} };// 抽象工厂 class AbstractFactory { public:virtual ~AbstractFactory() {}virtual std::shared_ptrPhone CreatePhone() 0;virtual std::shared_ptrLaptop CreateLaptop() 0; };// 华为工厂-具体工厂 class HuaWeiFactory: public AbstractFactory { public:virtual std::shared_ptrPhone CreatePhone() override{return std::make_sharedHuaWeiPhone();}virtual std::shared_ptrLaptop CreateLaptop() override{return std::make_sharedHuaWeiLaptop();} };// 苹果工厂-具体工厂 class AppleFactory: public AbstractFactory { public:virtual std::shared_ptrPhone CreatePhone() override{return std::make_sharedApplePhone();}virtual std::shared_ptrLaptop CreateLaptop() override{return std::make_sharedAppleLaptop();} };测试 void TestAbstractFactory() {// 创建苹果工厂std::shared_ptrAbstractFactory apple_factory std::make_sharedAppleFactory();// 创建华为工厂std::shared_ptrAbstractFactory huawei_factory std::make_sharedHuaWeiFactory();// 通过苹果工厂创建苹果电脑和苹果手机std::shared_ptrPhone apple_phone apple_factory-CreatePhone();std::shared_ptrLaptop apple_laptop apple_factory-CreateLaptop();// 通过华为工厂创建华为电脑和华为手机std::shared_ptrPhone huawei_phone huawei_factory-CreatePhone();std::shared_ptrLaptop huawei_laptop huawei_factory-CreateLaptop();// 使用苹果电脑和手机apple_phone-MakeCall();apple_laptop-PlayGame();// 使用华为电脑和手机huawei_phone-MakeCall();huawei_laptop-PlayGame(); }输出 苹果手机打电话 苹果电脑玩游戏 华为手机打电话 华为电脑玩游戏我们通过抽象工厂接口创建了一个苹果工厂和华为工厂又通过华为工厂接口创建了华为电脑和华为手机苹果同理这样的话我们就可以使用华为电脑和手机。 通过这种方式我们就绕开了new的方式去创建对象。 抽象工厂遵循的设计原则 依赖倒置原则通过引入抽象接口实现了具体产品的实现细节与客户端代码测试代码或使用代码的解耦。客户端只需要通过抽象接口创建对象不需要关心具体的产品类。这样就是实现了高层模块客户端代码依赖抽象接口而不依赖具体的低层模块具体的产品实现。开放封闭原则通过引入抽象接口允许添加工厂和产品而不需要修改已有代码实现了对扩展开放、对修改关闭。单一职责原则抽象工厂模式将产品的创建封装在具体工厂类中每个工厂又负责创建特定的产品族使得每一个类只有一个职责。接口隔离原则通过引入抽象接口将产品对象的创建方法和具体的实现细节隔离开客户端代码不需要关心具体产品的实现只需要和抽象接口进行交互避免了对不需要的方法进行依赖。 抽象工厂模式适用于以下场景 系统需要独立于它的产品的创建、组合和表示时系统需要一组相关产品对象并且希望统一地对待它们系统需要在运行时切换不同的产品族 抽象工厂模式的优点 将客户端代码于具体产品的实现进行解耦使客户端可以灵活应用各种产品。 缺点 增加新的产品族比较困难需要修改抽象工厂的接口当创建的产品只有一个时退化成工厂方法模式
http://www.pierceye.com/news/932440/

相关文章:

  • 网站中有一个非常著名的原则如何与老板谈网站建设
  • 免费十八种禁用网站如何做一个网页布局
  • cms仿站pc网站案例
  • dede如何做手机网站哪些客户需要做网站
  • 阜蒙县建设镇官方网站那种网站2021
  • 同信.长春网站建设北京网站建设策划
  • 长沙游戏网站开发开发人员公众号
  • 用手机能建网站吗软件商店软件下载
  • 天津自助建站哪个建设网站
  • 西宁市网站建设公司推荐网站全网建设 莱芜
  • 安徽阜阳网站建设公司wordpress网页自适应屏幕大小
  • 上海门户网站的亮点网站开发平台及常用的开发工具
  • 广州h5设计网站公司网站建设从建立服务器开始
  • 如何网站建设全包12306网站多钱做的
  • 阳江北京网站建设中国平面设计在线
  • 上海城乡建设中级职称报名网站合肥网站建设之4个细节要注意事项
  • 洮南网站建设哪家好鞍山信息港招聘信息网
  • 大气手机网站wordpress 添加设置
  • 公司创建网站销售wordpress缩略图支持外链图
  • php网站开发案例教程 dvdwordpress淘宝客自适应模板
  • 做建筑设计网站可以推广的网站有哪些
  • 安徽省建设厅证书查询官方网站关键词优化公司如何选择
  • io游戏网站青岛网站优化排名
  • 怎样建设网站?(怎样注册域名?如何选择主机?网站应有哪些功能模块网站备案可以变更吗
  • 欧美男女直接做的视频网站广告投放跟网站建设一样吗
  • 建网站的流程费用广州比较大的外贸公司
  • wordpress 调用站外api广州优化公司推广
  • 自贡建设专业网站设计企业网站建设专家
  • 重庆潼南网站建设哪家便宜淄博做网站电话
  • 下载官方网站合肥建站公司seo