架构与设计模式
zzz1_1zzz
这个作者很懒,什么都没留下…
展开
-
23种设计模式分析(1):创建型模式
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。 GoF(“四人帮”,指Gamma, Helm, Johnson & Vliss转载 2017-03-19 17:36:34 · 1206 阅读 · 0 评论 -
面对对象设计原则
与设计模式相关的是设计原则。设计原则更像是理论,而设计模式是这种理论的具体体现。 每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题解决方案的核心。设计模式描述了软件设计过程中某一类常见问题的一般性的解决方案。面向对象设计模式描述了面向对象设计过程中、特定场景下、类与相互通信的对象之间常见的组织关系,包括它们的角色、职责、协作方式几个方面。 从编程语言来看,各种面向对象编程语转载 2017-04-02 19:37:03 · 466 阅读 · 0 评论 -
关于需求分析的几点体会
在我前面写的一篇博文《如何写出让自己满意的代码》中,有读者在评论中提到了用户需求不确定导致在总体设计阶段总是无的放矢的问题。需求分析当然是非常重要的,甚至在某些情况下比总体设计还更重要。那么,如何理解需求分析呢? Google一下关键字“需求分析”,网上已经有很多相关的文章了,有不少已经写得像教科书一样全面准确,还提供了一些最佳实践的分类方法。我这篇就从个人经验方面谈一点自己的体转载 2017-04-02 19:35:20 · 3669 阅读 · 2 评论 -
23种设计模式分析(7):行为型模式
1.1.21 Strategy策略模式 Strategy(策略)模式又称Policy模式。GOF《设计模式》一书对Strategy模式是这样描述的:定义一系列的算法,把他们一个个封装起来,并且使它们可相互替换。Strategy模式使算法可独立于使用它的客户而变化。 这里的算法并非狭义的数据结构或算法理论中所讨论的KMP、shell sort等算法,而是指应用程序设计中不同的转载 2017-03-25 21:59:22 · 555 阅读 · 0 评论 -
23种设计模式分析(6):行为型模式
1.1.17 Iterator迭代器模式 Iterator模式定义:提供一个方法顺序访问一个聚合对象的各个元素,而又不暴露该对象的内部表示。 Iterator(迭代器)模式又称Cursor(游标)模式,它是运用于聚合对象的一种模式,通过运用该模式,使得我们可以在不知道对象内部表示的情况下,按照一定顺序(由iterator提供的方法)访问聚合对象中的各个元素。 It转载 2017-03-24 22:25:32 · 815 阅读 · 0 评论 -
23种设计模式分析(5):行为型模式
1.1.13 Observer观察者模式 Observer(观察者)模式又被称作发布-订阅(Publish-Subscribe)模式,是一种对象的行为型模式。《设计模式》一书对Observer是这样描述的:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知并自动更新。 Observer模式的功用,是希望两个(或多个)对象,我们称转载 2017-03-24 22:23:37 · 447 阅读 · 0 评论 -
23种设计模式分析(4):结构型模式
1.1.9 Composite复合模式 Composite(复合、合成、组合)模式是一种结构型模式,定义:将对象组合成树形结构以表示“部分-整体”的层次结构,它使得客户对单个对象和复合对象的使用具有一致性。 这里的复合对象是很多单个对象的“组合”,而复合对象与单个对象又有共同的特征和操作。我们往往总是希望用一致的方式访问不同类型的对象,不论这个对象是同一类系中类型A的对转载 2017-03-22 13:53:01 · 619 阅读 · 0 评论 -
23种设计模式分析(3):结构型模式
1.1.6 Adapter适配器模式 GOF《设计模式》一书对Adapter模式是这样描述的:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使原本由于接口不兼容而不能一起工作的类可以一起工作。这段话大致是说:我们需要一种方式,为一个功能正确但接口不合的对象创建一个新接口。 我们经常碰到要将两个没有关系的类组合在一起使用。第一解决方案是:修改各自类,但是如转载 2017-03-22 13:51:26 · 415 阅读 · 0 评论 -
23种设计模式分析(2):创建型模式
1.1.3 Singleton模式 保证一个类只有一个实例,并提供一个访问它的全局访问点。单例模式的要点有三个:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。UML类图如下:图3-1 单例模式 类和对象之间的关系为: Singleton(单例):提供了一个instance的方法,让客户可以使转载 2017-03-20 21:26:49 · 377 阅读 · 0 评论 -
如何写出让自己满意的代码
最近出于学习目的写一个管理系统,越到后边,越觉得自己前边的代码写得烂。前辈,我想让代码写得更好一点,能不能谈谈你的经验,给我指点一下!” 我在回复里刚写了几句,就意识到140个字很难把我的想法说清楚,本着知无不言言无不尽的好为人师精神,我决定把我的回答写成一篇博文。 首先要说明的是,我写这篇博客并不代表本人觉得自己的代码写得有多好。事实上我很清楚自己的水平,作为一个做应用系统的转载 2017-03-26 21:41:29 · 419 阅读 · 0 评论