![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
jw463001558
这个作者很懒,什么都没留下…
展开
-
单例模式——探索之旅
背景当程序中需要在多处用到一个类的同一个实例时,我们通常得给此类声明一个全局变量,不然只有通过函数链传递此类实例的引用,然而这两种方式都存在一定问题,特别是要考虑线程安全时。我们需要一种更方便安全的方式来应对多处用到一个类的同一个实例问题。意图程序生命周期中,保证类只有一个实例,且提供一个访问它的全局访问点。实用性1. 当类需在多处使用,而其状态需要被下一次调用继承时原创 2015-06-14 15:20:33 · 276 阅读 · 0 评论 -
工厂方法——探索之旅
工厂方法(Factory Method)模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。原创 2015-06-20 11:59:06 · 211 阅读 · 0 评论 -
装饰者模式——探索之旅
装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。原创 2015-06-23 22:54:18 · 267 阅读 · 0 评论 -
建造者模式——探索之旅
,建造者模式(Builder Pattern),将一个复杂对象的构建与它的表示分离,使的同样的构建过程可以创建不同的表示。建造者模式的本质是使组装过程(用指挥者类进行封装,从而达到解耦的目的)和创建具体产品解耦,使我们不用去关心每个组件是如何组装的。原创 2015-06-23 23:09:34 · 301 阅读 · 0 评论 -
组合模式——探索之旅
组合模式解耦了客户程序与复杂元素内部结构,从而使客户程序可以像处理简单元素一样来处理复杂元素。原创 2015-06-23 22:26:53 · 167 阅读 · 0 评论 -
抽象工厂模式——探索之旅
抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象。根据LSP原则,任何接受父类型的地方,都应当能够接受子类型。因此,实际上系统所需要的,仅仅是类型与这些抽象产品角色相同的一些实例,而不是这些抽象产品的实例。换言之,也就是这些抽象产品的具体子类的实例。工厂类负责创建抽象产品的具体子类的实例。原创 2015-06-23 23:02:26 · 377 阅读 · 0 评论 -
委托——探索之旅
委托是一个类,其内部维护一个装有函数包装器的容器。函数包装器把函数指针封装成类,这样使得需要委托的函数能够像普通对象一样作为参数传递。究其根本委托的核心为函数指针,而函数指针为C语言的多态思想,所以在面向对象语言中委托也可以作为一种多态手段。原创 2015-06-20 11:38:27 · 273 阅读 · 0 评论