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

教育网站模板个人电脑搭建成网站服务器

教育网站模板,个人电脑搭建成网站服务器,seo的搜索排名影响因素有哪些,响应式地方网站工厂模式是一个创建型设计模式,即“对象创建模式”,通过这种模式可以绕开new,来避免对象创建过程中,也就是new的方法造成的紧耦合,从而支持对象创建的稳定。 工厂模式中引入了一个工厂类,该工厂负责根据客…

工厂模式是一个创建型设计模式,即“对象创建模式”,通过这种模式可以绕开new,来避免对象创建过程中,也就是new的方法造成的紧耦合,从而支持对象创建的稳定。

工厂模式中引入了一个工厂类,该工厂负责根据客户端的请求创建相应的对象案例,客户端只需要通过工厂类获取对象,不需要之间调用具体对象的构造函数。

工厂模式有四个角色:抽象产品具体产品抽象工厂具体工厂

举例:
假设我们现在要创建一个图形库,支持绘制矩形和圆形两种形状。

// 抽象产品
class IShape
{
public:virtual ~IShape() {}virtual void Draw() = 0;
};// 具体产品-矩形
class Rectange: public IShape
{
public:virtual void Draw() override{std::cout << "绘制矩形" << std::endl;}
};// 具体产品-圆形
class Circle: public IShape
{
public:virtual void Draw() override{std::cout << "绘制圆形" << std::endl;}
};// 抽象工厂
class IFactory
{
public:virtual ~IFactory() {}virtual std::shared_ptr<IShape> CreateShape() = 0;
};// 具体工厂 - 创建圆形
class CircleFactory: public IFactory
{
public:virtual std::shared_ptr<IShape> CreateShape() override{return std::make_shared<Circle>();}
};// 具体工厂 - 创建矩形
class RactangeFactory: public IFactory
{
public:virtual std::shared_ptr<IShape> CreateShape() override{return std::make_shared<Rectange>();}
};
void TestFactory()
{// 创建矩形工厂std::shared_ptr<IFactory> rac_factory = std::make_shared<RactangeFactory>();// 创建圆形工厂std::shared_ptr<IFactory> cir_factory = std::make_shared<CircleFactory>();// 创建矩形产品std::shared_ptr<IShape> ractange = rac_factory->CreateShape();// 创建圆形产品std::shared_ptr<IShape> circle = cir_factory->CreateShape();// 绘制矩形ractange->Draw();// 绘制圆形circle->Draw();
}int main()
{// 策略模式用法// TestStrategy();// TestObserver();// TestDecorator();// TestBridge();TestFactory();system("pause");return 0;
}

抽象图形类 IShape 定义了图形的抽象接口,具体的图形类 Circle 和 Rectangle 继承自 Shape,实现了抽象接口,并实现了各自的绘制逻辑。

抽象工厂类 IFactory 定义了创建图形对象的抽象接口,具体的工厂类 CircleFactory 和 RectangleFactory 继承自 IFactory,实现了创建图形对象的具体逻辑。

在客户端代码中,分别通过 CircleFactory 和 RectangleFactory 工厂类来创建圆形和矩形对象,并调用各自的 Draw() 方法,共同完成图形的绘制过程。

工厂模式的主要优点包括:

  • 将对象的创建与使用分离,使客户端代码只依赖于抽象工厂和抽象产品,而不依赖于具体产品。
  • 可以很方便地扩展和修改具体产品的创建过程,而对客户端代码没有影响。
  • 符合开闭原则,即对修改关闭,对扩展开放。
  • 遵循依赖倒置原则,即
    1、高模块不应该依赖低模块,两者都应该依赖抽象。
    2、抽象不应该依赖具体实现,具体实现应该依赖抽象。

简单来说,依赖倒置原则的核心思想是通过创建抽象接口或者抽象类来作为模块之间的依赖(比如上面代码中的抽象产品抽象工厂),而不是依赖具体的实现类。

通过遵循依赖倒置原则,我们能够实现以下几个好处:

  • 提高代码的灵活性和可扩展性:通过依赖于抽象而不是具体实现,我们可以方便地替换底层模块,以及添加新的实现来满足不同的需求,而不需要修改高层模块的代码。
  • 减少模块间的耦合度:模块间的依赖关系通过抽象接口进行解耦,使得模块的改动不会对其他模块产生过多的影响。
  • 更好的代码维护性:由于模块间的依赖关系被明确地定义在抽象层面上,我们可以更容易理解和维护代码。
http://www.yayakq.cn/news/668047/

相关文章:

  • 国内最有趣的网站重庆网站建设费用
  • 金融网站源码 asp网站建设东北
  • 商城微网站开发微网站网站系统开发
  • 做网站要先买域名吗wordpress修改后台登录地址
  • 网页设计的网站配色方案上海网站 备案查询
  • 沧州模板建站平台网络规划设计师和系统架构师哪个好考
  • 织梦模板 行业网站网站注册怎么做屏蔽过滤
  • 定制网站建设官网磁贴式网站模板
  • 做网站在自己电脑建立虚拟机门户网站如何建设方案
  • 湖南营销网站建设棋牌软件开发多少钱
  • 制作网站的钱哪里做公司网站比较好
  • 建设环保网站的目的与功能分析h5微场景制作软件
  • 网站建设工作总结做外贸的社交网站有哪些
  • 广州十度网络网站开发最好设计师 网站
  • 有什么正规的网站做代加工济南注册公司怎么注册
  • 建设实木餐桌椅移动网站如何做彩票网站推广图
  • 网站打开速度慢是否需要升级带宽手机版网站制作
  • 建站工具word稻壳企业网站模板
  • 网站建设与维护的实训总结网站开发商城1688
  • 广州自助网站设计平台网络营销的三种方式
  • 找论文的免费网站净水设备 技术支持 东莞网站建设
  • 做设计有必要买素材网站会员吗网站建设费用计入什么科目
  • 小鱼儿外贸网站公众号开发者密码怎么启用
  • 西宁做网站最好的公司哪家好海城网站制作
  • 新网站怎样做好外链自做淘宝客网站
  • 博物馆网站页面设计说明影视投资销售怎么找客户
  • 大学生帮别人做网站专业网站推广服务咨询
  • 做网站需要看的书男人直接做的视频网站
  • 网站建设的主要工作消除wordpress
  • 文书写作网站汽车营销活动策划方案