![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 56
ThXe
这个作者很懒,什么都没留下…
展开
-
工厂方法模式的应用——IOC/DI
为什么需要IOC而不是直接new呢?如果有大量的对象,都通过new来生成,但是可能会存在互相引用,导致重叠的调用,就会十分的混乱。IOC用来管理这些对象,类似于点名册,这样只需要去IOC里面去找,就可以调用相应需要的对象。采用工厂方法模式,有个IOC容器的概念,A想要用B的方法,先告诉IOC,通过IOC注入A对象。使得A和B进行松耦合。如果对象A想要调用B,一定要newB。这样A和B就紧密的耦合。原创 2023-04-04 17:53:44 · 155 阅读 · 0 评论 -
设计模式——单例模式
读取配置文件config.ini,由于IO读取缓慢,所以只需要一个全局对象AppConfig作为全局点。线程不安全,因为C++的构造函数不是线程安全的,所以需要加锁。可以用map来控制单例模式创造的个数。原创 2023-04-03 23:48:42 · 108 阅读 · 0 评论 -
设计模式——建造者模式
建造者模式定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。类图角色:1.Builder表示抽象建造者,其中创建了Product对象的各个部件的抽象接口2.ConcreteBuilder为具体建造者,实现了Builder中的方法3.Director指挥者,用于构建一个实现Builder接口的对象,它的主要抉择就是确定了构造方法(调用Builder中的方法),然后将整个组合好的Product给返回4.Product具体产品类,类似与配件总结同样是生产产品,工厂原创 2022-05-21 19:33:55 · 101 阅读 · 0 评论 -
设计模式——工厂方法模式
工厂方法模式**定义:*定义一共用于创建对象的接口,让子类决定将哪个类实例化,工厂方法模式使一个类的实例化延迟到其子类。工厂方法模式类图角色:1.抽象产品(Product)2.抽象工厂(Factory)3.具体产品(ConcreteProduct)4.具体工厂(ConcreteProduct)与简单工厂类似,不过将工厂类抽象化,这样做的好处是使得客户端只需要关心抽象产品和抽象工厂,完全不用理会返回的是哪一种具体产品,也无需关心是如何被具体工厂创建的,同时在新增一个产品时,只需要添加一共具体工厂和具原创 2022-05-20 16:12:29 · 359 阅读 · 0 评论 -
设计模式——简单工厂模式
创建型模式创建型模式关注对象的创建过程,其主要的特点是将对象的创建和使用分离,这样在使用对象时无需关心对象的创建细节,从而降低系统的耦合度。创建型模式对类的实例化过程即对象的创建过程进行抽象,能够使软件模块做到与对象的创建和组织无关。创建型模式隐藏了对象的创建细节,通过隐藏对象如何被创建和组合在一起达到整个系统独立的目的。在掌握创建型模式时,需要回答以下三个问题,创建什么(What)、由谁创建(who)和何时创建(when)简单工厂模式**定义:**定义一共类,根据参数的不同返回不同类的实例,这些类原创 2022-05-20 16:08:13 · 184 阅读 · 0 评论 -
设计模式-面向对象设计原则
为什么要遵守面向对象的设计原则?这个问题的本质是,我们为什么要学习设计模式这门课?我们在开发功能时,常常有很多种实现方法。当需求确定时,我们可以一步一个脚印的进行编码实现,问题是,如果出现新的需求,或者之前的需求需要修改时,有时候会面临需要大刀阔斧的修改代码的境遇。以至于做了很多无用功,我们更希望在遇到新需求时,可以不用去更改以往的代码,只需要添加少量代码就可以完成任务,这是学习设计模式的根本目的。 如果你提前学习过设计模式原则,你会发现这和开闭原则的描述十分的相似,学习设计模式的目的就是增强系统的可拓展原创 2022-05-03 14:35:57 · 467 阅读 · 0 评论