设计模式
读书与远方
这个作者很懒,什么都没留下…
展开
-
代理模式(Proxy)
代理模式(Proxy) 1.1.1 摘要 今天是父亲节,首先祝爸爸父亲节快乐身体健康,随着互联网飞速的发展,现在许多软件系统都提供跨网络和系统的应用,但在跨网络和系统应用时,作为系统开发者并不希望客户直接访问系统中的对象。其中原因很多考虑到系统安全和性能因素,这时候聪明的开发者想到了在客户端和系统端添加一层中间层----代理层,也是即将要介绍的代理模式。原创 2013-11-13 09:04:50 · 988 阅读 · 0 评论 -
桥接模式(Bridge)
桥接模式(Bridge) 1.1.1 摘要 在软件系统中,某些类型由于自身的逻辑,它具有两个或两个以上的维度变化,那么如何应对这种“多维度的变化”呢?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度呢?这就是即将要介绍的桥接模式(Bridge)。 使用频率: medium 定义原创 2013-11-13 09:05:59 · 1040 阅读 · 0 评论 -
抽象工厂学习笔记
抽象工厂学习笔记 1.1.1 摘要 抽象工厂模式:允许客户使用抽象的接口来创建一系列相关的产品,而无需要知道实际产出的具体产品是什么。这样一来,客户就从具体的产品中被解耦出来。这种模式适用于产品对象的数目和种类不变,而具体产品系列之间存在不同或者容易变化的情况。 关键字:依赖抽象,不要依赖具体类,OCP 使用率: high原创 2013-11-13 09:43:06 · 781 阅读 · 0 评论 -
装饰者(Decorator)
装饰者(Decorator) 1.1.1 摘要 装饰者模式:动态地给一个对象添加一些额外的职责,就增加功能来说,Decorator模式比生成子类更为灵活。 Decorator模式的工作原理是:可以创建始于Decorator对象(负责新的功能的对象)终于原对象的一个对象“链”。 图1装饰者链 装饰者模式隐含的是通过一条条装饰原创 2013-11-13 09:42:35 · 754 阅读 · 0 评论 -
组合模式(Composite)
组合模式(Composite) 1.1.1 摘要 在软件系统设计中,我们经常会遇到整体和部分的设计问题,例如为一家架构完善的公司设计系统时,我们在系统设计过程中应该更加注重这种整体和部分的关系(总部和分部的关系),这就是我们今天要介绍的组合模式(Composite)。 组合模式(Composite)把对象构造成为一棵对象树,现在让我们简短回原创 2013-11-13 09:06:31 · 1099 阅读 · 0 评论 -
打造属于你的提供者(Provider = Strategy + Factory Method)
打造属于你的提供者(Provider = Strategy + Factory Method) 1.1.1 摘要 在日常系统设计中,我们也许听说过提供者模式,甚至几乎每天都在使用它,在.NET Framkework 2.0中微软提出了提供者模式(Provider),所以我们可以发现.NET Framkework中有很多类命名都含有“Provider”原创 2013-11-13 09:41:34 · 852 阅读 · 0 评论 -
享元模式(Flyweight)
享元模式(Flyweight) 1.1.1 摘要 今天是国庆节,祝大家国庆节快乐身体健康,在我们面向对象设计过程中,我们常常会面临着对象实例过多的问题,如果对象实例过多这将是我们系统性能提高的一个瓶颈。假设我们要设计一个星空场景,现在我们需要实例星星对象,我们可以实例每一颗星星,但随着我们实例星星对象增多整个场景就越来越慢了,如果你实例了1000+颗星星要原创 2013-11-13 09:09:32 · 1022 阅读 · 1 评论 -
观察者模式(Observer)
观察者模式(Observer) 1.1.1 摘要 在系统的设计中,我们常常需要设计一个消息提示功能,让系统把提示信息发送到客户端。做到这一点的设计方案可以是多种多样,但是为了使系统能够易于复用,我们的设计应该遵守低耦合高内聚的设计原则,而且减少对象之间的耦合有利于系统的复用。观察者模式(Observer)是满足这一要求的各种设计方案中最重要的一种。原创 2013-11-13 09:08:02 · 1124 阅读 · 0 评论 -
设计模式之策略模式学习
设计模式之策略模式学习 摘 要 策略模式(Strategy):它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。原创 2013-11-13 09:07:24 · 734 阅读 · 0 评论 -
单例模式(Singleton)的6种实现
单例模式(Singleton)的6种实现 1.1.1 摘要 在我们日常的工作中经常需要在应用程序中保持一个唯一的实例,如:IO处理,数据库操作等,由于这些对象都要占用重要的系统资源,所以我们必须限制这些实例的创建或始终使用一个公用的实例,这就是我们今天要介绍的——单例模式(Singleton)。 使用频率 高 单件模原创 2013-11-13 09:09:01 · 786 阅读 · 0 评论