摘要: 引子:话说马上就要到清明节了,公司也放假了,人流量多了,各种商店的生意也好了,但为了加大节日销售的利润,各种商店纷纷出台了相应的打折策略,对于小点的商店,商品相对较少,处理起来也不大费劲,但对于楼下的国美电器呀,附近的苏宁,这样的大店商品太多,打折信息也比较多,对于打折信息的记录当然就会采用一些现代化的方法予以记录,假设有这么一个系统,他就用于处理此次的打折信息!可是,对于大店的他们经常会遇到打折的信息,并且每次的打折还都不一样,有时候这些需要打折,哪些产品不需要,有时候打着多,有时候少,还有一些满消费多少就立减多少,有时候是满多少就送多少,这样每次操作起来一比较繁琐,于是他们就想,能不能开发 阅读全文
posted @ 2011-11-24 16:11 Flying Dreams 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 自西方文艺复兴以来,中国在自然科学方面落后西方很多,软件领域也不例外。当然现在中国的许多程序员们对此可能有许多不同的意见,有些人认为中国的程序员水平远落后于西方,有些则认为中国的程序员个人能力并不比西方的程序员差,只是整个软件产业落后而已。那么,到底中国的程序员水平比西方程序员水平差,还是中国有许多优秀的程序员达到或超过了西方程序员同等水平呢?要解决这个问题,必须先知道程序员有多少种技术层级,每个层级需要什么样的技术水平,然后再比较中国和西方在各个技术层级的人数,就可以知道到底有没有差距,差距有多大。当然,对于如何划分程序员的技术层级,不同公司或不同人会有不同的划分标准,下面的划分仅代表个人的 阅读全文
posted @ 2011-11-24 15:42 Flying Dreams 阅读(100) 评论(0) 推荐(0) 编辑
摘要: Martin Fowler著 Ai92译英文原文版权由Martin Fowler拥有Original text is copyrighted by Martin FowlerMartin FowlerChief Scientist, ThoughtWorks声明:任何人都可以在任何地方随意转载本文,但是在转载时请保持本文完整性,请不要在转载的时候做任何改动或增删。*****************************************************************对很多粗略接触到极限编程(Extreme Programming)的人来说,XP似乎宣告了软件设计的死. 阅读全文
posted @ 2011-11-24 11:54 Flying Dreams 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 外观模式外观模式:提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。要点:1. 外观模式为复杂子系统提供了一个简单接口,并不为子系统添加新的功能和行为。2. 外观模式实现了子系统与客户之间的松耦合关系。3. 外观模式没有封装子系统的类,只是提供了简单的接口。如果应用需要,它并不限制客户使用子系统类。因此可以在系统易用性与通用性之间选择。4. 外观模式注重的是简化接口,它更多的时候是从架构的层次去看整个系统,而并非单个类的层次。5. 外观模式经常使用单例实现,但子系统们可以有多个Façade。设计原则:最少知识原则:只和你的密友谈话实现:Fa 阅读全文
posted @ 2011-11-23 11:19 Flying Dreams 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 装饰者模式Decorator模式(别名Wrapper):动态将职责附加到对象上,若要扩展功能,装饰者提供了比继承更具弹性的代替方案。意图:动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。设计原则:1. 多用组合,少用继承。利用继承设计子类的行为,是在编译时静态决定的,而且所有的子类都会继承到相同的行为。然而,如果能够利用组合的做法扩展对象的行为,就可以在运行时动态地进行扩展。2. 类应设计的对扩展开放,对修改关闭。要点:1. 装饰者和被装饰对象有相同的超类型。2. 可以用一个或多个装饰者包装一个对象。3. 装饰者可以在所委托被装饰者的行为之前或之 阅读全文
posted @ 2011-11-23 10:37 Flying Dreams 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 组合模式组合模式:允许你将对象组合成树型结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。要点:1. 组合模式以不遵守单一责任原则换取透明性,让Client将组合和叶节点一视同仁。2. 在实现组合模式时,有很多设计上的折衷。要根据需求平衡透明性和安全性。3. 有时候系统需要遍历一个树枝构件的子构件很多次,这时候可以把遍历结果缓存起来。4. 组合模式的实现中,可以让子对象持有父对象的引用进行反向追溯。实现:Component:为参加组合的对象声明一个公共接口,不管是组合还是叶节点。public abstract class Component { public 阅读全文
posted @ 2011-11-23 10:36 Flying Dreams 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 适配器模式Adapter(别名Wrapper)模式:将一个类的接口,转换成客户期望的另一个类的接口。适配器让原本接口不兼容的类可以合作无间。要点:1. 适配器模式主要应用于“希望复用一些现存的类,但是接口又与复用环境要求不一致的情况”,在遗留代码复用、类库迁移等方面非常有用。2. 适配器模式有对象适配器和类适配器两种形式的实现结构,但是类适配器采用“多继承”的实现方式,带来了不良的高耦合,所以一般不推荐使用。对象适配器采用“对象组合”的方式,更符合松耦合精神。实现:类的适配器模式结构图(继承)对象的适配器模式结构图(组合)(对象适配器的代码实现)Target:定义Client使用的与特定领域相 阅读全文
posted @ 2011-11-23 10:35 Flying Dreams 阅读(159) 评论(0) 推荐(0) 编辑