最近把《大话设计模式》重温了下(看完序才知道原来作者是也是博客园园友,这本书的最早博客版本在这里)。体会最深的就是面向接口编程的重要性,如何在自己的项目中进行抽象,合理的利用各种设计模式。怎么样尽可能屏蔽switch分支、各种if else判断。具体还得自己品味,体会!整理各个模式的Demo,...
在今天,读书有时是件“麻烦”事。它需要你付出时间,付出精力,还要付出一份心境。--仅以《大话设计模式》来祭奠那逝去的……简单工厂的作用是实例化对象,不需要客户了解这个对象属于哪个具体子类。简单工厂实例化的类具有相同的接口或者基类,在子类相对固定或者不需要扩展的时候,可以使用简单工厂。如数据库生产工厂...
分类:
其他好文 时间:
2015-10-27 17:22:52
阅读次数:
228
在今天,读书有时是件“麻烦”事。它需要你付出时间,付出精力,还要付出一份心境。--仅以《大话设计模式》来祭奠那逝去的……大鸟:“所有编程初学者都会有这样的问题就直觉的用计算机能够理解的逻辑来描述和表达待解决的问题及具体的求解过程。这其实是用计算机的方式去思考,比如计算器这个程序,先要求输入两个数和运...
分类:
其他好文 时间:
2015-10-27 13:08:18
阅读次数:
142
简单工厂模式(Factory Pattern)是一种创建型的设计模式,像工厂一样根据要求生产对象实例。 特点:根据不同的条件,工厂实例化出合适的对象。 《大话设计模式》中实例:四则运算计算器 代码: 1 #!/usr/bin/env python 2 #-*- coding: utf-8 ...
分类:
编程语言 时间:
2015-10-27 00:01:06
阅读次数:
391
通过UML图对类与类之间的设计,对软件的代码进行封装,重构,这种方法不仅让代码具有极大的扩展性和优秀的可维护性,同时在我看来,这种整理后的代码更加易于理解,正应了那句话,没有规矩不成方圆,完善的规则带来的是秩序的稳定,这种方法我会逐渐的应用于自己的编程中去。 因为这学期开设了《软件设计》这门课...
分类:
其他好文 时间:
2015-10-19 22:10:28
阅读次数:
170
声明:这一系列的博客引用《大话设计模式》。程洁作者。 迭代器模式:迭代器模式是遍历集合的成熟模式。迭代器模式的关键是将遍历集合的任务交给一个叫做迭代器的对象,它的工作时遍历并选择序列中的对象,而client程序猿不必知道或关心该集合序列底层的结构。 UML类图: 角色: Iterator(迭代器.....
分类:
Web程序 时间:
2015-10-14 21:45:53
阅读次数:
225
从大一到大三,编写过得程序也不少,但这些程序基本都是老师布置的作业,只要实现老师要求的功能就可以,每次写完后都束之高阁,很少去完善,修改这些程序。而在下一次又遇到类似的题目时,都是从头开始写,所以总感觉编写程序很麻烦,老师所说的编程是一件简单的事总是不能体会。而在今年接触到软件设计模式时才突然发现....
分类:
其他好文 时间:
2015-10-09 18:08:34
阅读次数:
120
职责链模式(Chain of Responsibility):使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。优点:当客户提交一个请求是,请求是沿链传递直至有一个ConcreteHandler对象负责处理...
分类:
其他好文 时间:
2015-10-07 12:00:39
阅读次数:
254
一、UML画画二、概念状态模式(State):当一个对象的内在状态改变时同意改变其行为。这个对象看起来像是改变了其类。三、说明以下是来自书本和网络的对状态模式的定义和分析:(1)状态模式同意对象在内部状态改变时改变它的行为,对象看起来好像改动了它的类。看起来,状态模式好像是神通广大非常厉害似的——竟...
分类:
编程语言 时间:
2015-10-05 19:27:16
阅读次数:
275
合成/聚合复用原则,尽量使用合成/聚合,尽量不要使用类继承。聚合(Aggregation)表示一种弱的‘拥有’关系,体现的是A对象可以包含B对象但B对象不是A对象的一部分。合成(Composition)则是一种强的'拥有'关系,体现了严格的部分和整体关系,部分和整体的生命周期一样。优先使用对象的合成...
分类:
其他好文 时间:
2015-10-05 10:21:39
阅读次数:
276