随笔分类 - Design Patterns
摘要:上周换了家公司,由于项目还没有开始,所以比较清闲,上班没事捣鼓下了装饰模式,下面来做做笔记。 装饰模式:动态的将职责额外的加到对象上,若是要扩展,装饰模式提供比继承更加灵活。 上面定义可能比较羞涩难明白,我们举个例子。如世界有英语课程,英语课程很多国家又各有不同,如果中国英语。中国英文又分为新东方英
阅读全文
摘要:年过完了,开始上班了,时间过得太快了,感觉过了个假年........ 代理模式:为其他对象提供一种代理,以控制这个对象的访问。 角色分工:Subject:抽象角色,声明对真实对象和代理对象的共同接口;Proxy:代理角色,代理真实对象的访问;RealSubject:真实角色,最终需要引用的对象。 代
阅读全文
摘要:组合模式:将对象组合成树形结构以来表示"整体--部分"的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 关于组合模式的定义有个关键词"树形",这个很关键,也很常见,如二叉树什么的。举个例子,如孝感城市,有教育部分和检察部门,孝感市下面的又有大悟县、红安县等县城,每个县城下面也有教育
阅读全文
摘要:建造者模式:将复杂的对象的表示和它的实现相分离,使其在同样的构建下可以构建不通的表示。 上面的话可能不是很明白,举个例子就明白了。假设一个公司的软件项目流程是固定的,都需要经过需求理解、需求设计、需求审核、编码、测试这个五个步骤,但是这个公司是一个一级供应商,在拿到项目后,有些模块需要承包给二级供应
阅读全文
摘要:原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 其中心思想就是克隆。举个例子,我们经常性需要复印身份证复印件,有时需要几张,其实就是克隆,关于代码和UML类图,我就不再多描述了,因为这个太简单了,就是定义一个拷贝构造函数,定义一个clone函数,在clone里面new t
阅读全文
摘要:设计模式,是对软件设计智慧的结晶,也是每一个开发人员应该学习的。 适配器模式:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 适配器模式可以分为类适配和对象适配。就开发中实际情况而言,对象适配模式用的相对而言多些,下面笔记中适配器模式就是指对象
阅读全文
摘要:策略模式:把一系列算法封装起来,使之可以相互替换。这样就可以使算法独立于客户端变化。 如我们有很多排序算法,但是在不通的环境中,需要使用不同算法,那就可以定义一个抽象类,提供统一的接口,然后在各个排序算法继承抽象类,并实现该子类的排序算法 ,再定义一个项目类,通过构造函数传入不同算法类的对象或是模板
阅读全文
摘要:没事捣鼓了下相对而言比较简单的工厂模式,然后写了个小Demo,记录下,等十年后看到也是种回忆哈....... 工厂模式一般分为三种:简单工厂模式、工厂方法模式、抽象工厂模式。 一、简单工厂模式: 简单工厂模式,工厂类是创建产品的,它决定创建哪一种产品,就像领导决定采用那种技术方案样。举个例子,现在有
阅读全文
摘要:下午无聊,复习了下桥接模式,做下笔记,以后忘记了可以翻翻笔记来看看,毕竟好记性不如烂笔头。 桥接模式:将抽象和它的实现分离,使它们都可以独立变化。 假如我买了一辆skoda的小轿车,小轿车开了一段时间,现在车上得radio过时了,希望换下radio;再过段时间,上次换得radio又过时了,希望又换更
阅读全文
摘要:最近比较比较清闲,复习了下设计模式中的单例模式,对于单例模式,网上有很多实例,但是看来看去,很多感觉老是差点什么,当然也有比较多的写的很好,所以决定自己动手练习下,顺便记录下,就当记笔记了。 在实际的开发中,几乎每个项目都使用到单例模式,因为很多时候,一个类只能创建一个对象,即存在唯一实例,单例就是
阅读全文