
------设计模式
文章平均质量分 63
百川灌河
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
设计模式宏观把控(三)
行为型模式共有11种,分别是观察者模式、模板方法模式、命令模式、状态模式、职责链模式、解释器模式、中介者模式、访问者模式、策略模式、备忘录模式、迭代器模式。原创 2016-08-25 17:39:59 · 474 阅读 · 16 评论 -
设计模式宏观把控(二)
结构型模式共有7中设计模式,分别是适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式、代理模式。结构型模式,讨论的是类和对象的结构,它采用继承机制来组合接口或实现,或者通过组合一些对象,从而实现新的功能。7种模式具有很大的相似性,但是也各有侧重。Adapter模式通过类的继承或者对象的组合侧重于转换已有的接口;Bridge模式通过将抽象类和实现相分离,让他们可以分别独原创 2016-08-25 11:03:33 · 448 阅读 · 14 评论 -
设计模式宏观把控(一)
一共有23种设计模式,分为三大类型,分别是创建型、结构型、行为型。无论是什么设计模式,软件开发都应该力求:高内聚、低耦合,内聚性:一个例程内部组成部分之间相互联系的紧密程度;耦合性描述的是一个例程与其他例程之间联系的紧密程度。软件开发的目标应创建这样的例程:内部完整,即高内聚;与其他例程之间的联系则是小巧、直接、可见、灵活,即松耦合。创建型模式:抽象工厂(Abstract Factory)、原创 2016-08-25 08:52:51 · 620 阅读 · 12 评论 -
设计模式之七大原则
设计模式共有六大原则,下面就我学到的东西做一个小小的总结,感觉很多东西理解的还是表象,没有深入到它的精髓之处。设计模式的核心宗旨是如何提高一个软件系统的可维护性和可复用性,而这七大原则就是为支持可维护性、可复用性而提炼出的精华,是设计模式的指导性原则。学习设计模式这本书感觉真的受益无穷,它很好的锻炼了我面向对象的逻辑思维。也真正的理解了编程与生活联系的是如此的紧密,编程就在生活之中原创 2016-08-24 21:19:12 · 504 阅读 · 14 评论 -
中介者模式
中介者模式(Mediator),用一个中介对象来封装一系列的对象交往。中介者使各对象不需要显式的相互吸引,从而使其耦合松散,而且可以独立地改变它们之间的交互。在之前一段时间面向对象的学习中,虽然把一个系统分割成许多对象通常可以增加复用性,但是对象之间的相互连接的激增又会降低其可复用性。大量的连接使得一个对象不可能在没有其他对象的支持下工作,所以对系统的行为进行任何较大的改动就会变得十分困难。原创 2016-08-24 16:57:21 · 426 阅读 · 10 评论 -
单例模式(饿汉VS懒汉)
单例模式(Singleton),保证一个类仅有一个实例,并提供一个访问它的全局访问点。“通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象,一个最好的办法就是,让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法。”单例模式(Singleton)结构图:Singleton类,定义一个GetInstance原创 2016-08-23 23:22:01 · 492 阅读 · 8 评论 -
组合模式
组合模式(Composite),将对象组合成树形结构以表示‘部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。它要处理的问题实质就是让整体与部分可以被一致对待的问题。适用场景:当软件需求中是体现部分与整体层次的结构时,以及希望用户可以忽略组合对象与单个对象的不同,统一地使用组合结构中的所有对象时,就应该考虑用组合模式了。组合模式(Composite)结构图:原创 2016-08-23 17:13:25 · 294 阅读 · 9 评论 -
备忘录模式
备忘录(Memento):在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象回复到原先保存的状态。适用场景:Memento模式比较适用于功能比较复杂的,但需要维护或记录属性历史的类,或者需要保存的属性只是众多属性中的一小部分时,Originator可以保存根据保存的Memento信息还原到前一状态。有时一些对象的内部信息必须保存在对象以外的地方原创 2016-08-23 14:48:44 · 355 阅读 · 9 评论 -
工厂三姐妹
哈哈,之前总是看师哥师姐的博客“工厂三姐妹”,今天终于揭开了她的神秘面纱,“工厂三姐妹”即简单工厂模式,工厂方法模式,抽象工厂模式,三个姐妹各有风姿,都有自己独特的美和智慧,接下来就让我们走进她们。学习设计模式的最终目的就是让代码更加灵活,容易修改,并且易于复用,学习面向对象的分析设计编程思想,利用封装、继承、多态把程序的耦合度降低,对于后期的维护工作以及面对用户的需求变更可谓是一种非常好的思原创 2016-08-22 17:25:27 · 513 阅读 · 12 评论