随笔分类 - 设计模式
1
摘要:作为一个上班族,我们可能会经常听到“管理流程混乱”,“职责边界不清晰”等这样或那样的抱怨,这是当组织或系统发展壮大后,一件事由一个人或者一个部门无法独立完成时,不得不面对的问题。就拿平时请假来说,试想如果是一个只有几个人的小公司,很可能连请假条都不用写,直接跟老板说一下就OK了,但是如果公司有一定规
阅读全文
摘要:上一篇说到了观察者模式较为传统的用法,这篇准备分享点流行的,不过在开始新内容之前,我们不妨先思考一下两种场景,一个是报社订阅报纸,另一个是在黑板上发公告,都是典型观察者模式应用场景,二者有何不同? 报社订阅报纸,订阅者需要到报社登记交钱,然后报社才会每次有新报纸时通知到订阅者。 而在黑板上发公告,发
阅读全文
摘要:观察者模式可以说是非常贴近我们生活的一个设计模式,为什么这么说呢?哲学上有这么一种说法,叫做“万事万物皆有联系”,原意是说世上没有孤立存在的事物,但其实也可以理解为任何一个事件的发生必然由某个前置事件引起,也必然会导致另一个后置事件。我们的生活中,充斥着各种各样的相互联系的事件,而观察者模式,主要就
阅读全文
摘要:说到状态模式,顾名思义,应该就是跟状态相关的设计模式了,不过,我们还是跟前面一样,先不管状态模式是个什么东西,先从一个小小的例子出发,看看状态模式能为我们解决什么问题。 示例 现在需要实现一个交通灯调度程序,交通灯的颜色需要在红灯->绿灯->黄灯->红灯之间循环转换,但是不允许绿灯->红灯或黄灯->
阅读全文
摘要:策略模式定义一系列算法,把他们一个个封装起来,并且使他们可以互相替换。该模式使得算法可以独立于使用它的客户程序而变化。
阅读全文
摘要:先看一下模板方法模式的定义,模板方法模式定义了一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些步骤。
阅读全文
摘要:结构型模式主要处理类或对象的组合,关注于如何将现有类或对象组织在一起形成更大的结构。
阅读全文
摘要:将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得对单个对象和组合对象的使用具有一致性。
阅读全文
摘要:桥接模式是将抽象部分与它的实现部分分离,使它们都可以独立地变化。
阅读全文
摘要:装饰器模式动态地给一个对象增加一些额外的职责。就增加功能而言,装饰器模式比生成子类更为灵活。
阅读全文
摘要:为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
阅读全文
摘要:代理模式就是为其他对象提供一种代理以控制对这个对象的访问。
阅读全文
摘要:适配器模式是将一个类的接口转换成客户希望的另外一个接口,即将原本由于接口不兼容而不能一起工作的那些类可以一起工作。
阅读全文
摘要:创建型模式就是与对象的创建有关的模式,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、建造者模式和原型模式。
阅读全文
摘要:原型模式是用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。简单地说就是,首先创建一个实例,然后通过这个实例去拷贝(克隆)创建新的实例。
阅读全文
摘要:建造者模式是将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。创建者模式隐藏了复杂对象的创建过程,它把复杂对象的创建过程加以抽象,通过子类继承或者重载的方式,动态的创建复杂的、具有复合属性的对象。
阅读全文
摘要:单例模式,属于创建类型的一种常用的设计模式。它的目的就是为了创建的类在当前进程中只有一个实例。
阅读全文
摘要:工厂顾名思义就是创建产品,本质就是用工厂方法代替`new`操作创建一种实例化对象的方式。
阅读全文
摘要:模式就是对前人积累的经验的抽象和升华。简单地说,就是从不断重复出现的事件中发现和抽象出规律,并解决同一类问题的经验总结。
阅读全文
1