UML中描述对象和类之间相互关系的方式包括:依赖(Dependency),关联(Association),聚合(Aggregation),组合(Composition),泛化(Generalization),实现(Realization)等。依赖(Dependency):元素A的变化会影响元素B,但...
分类:
其他好文 时间:
2014-09-06 23:42:24
阅读次数:
292
上节我们说一个厨子要满足SRP原则,做好自己的本职工作,我们可以通过继承和接口两种方式实现。但是现在又出现了一个新的问题:本来这个厨子在学校主学川菜专业,然后在湖南找了一份工作,不得不学习湘菜。学就学呗,谁知顶头上司又是广东人,还得学做粤菜。如果对于一上一节定义的Cooker类来说,今天加一个方法,明天再加一个方法,后天发现某个方法不实用了,再删掉。这样,程序显得杂乱无章。不仅没有效率而且很容易出错。为了解决这类问题,我们想到了OCP原则,即一个软件实体(类,模块,函数等)应当为扩展而开放,又为修改而封闭。...
分类:
其他好文 时间:
2014-09-04 13:25:22
阅读次数:
179
一个厨子可以做出一手好菜,也许他是新东方毕业的或者是祖传秘方。你让他做上一桌佳肴那是简单、快乐而又高效的,然而让他编程就会成为一种苦恼并且让人想不通的一件事。也许这个比喻不是很恰当,但是对于每个类来说,他们就像一个一个的actor,也许是厨子也许是司机,他们应该关注于自己的领域,这样会更加高效而且简明。源于这一思想,我们发现了SRP这个原则,即:单一职责原则。...
分类:
其他好文 时间:
2014-09-03 21:21:07
阅读次数:
371
使用UML不仅可以形象化的表达我们的程序思想,而且可以帮助我们提高程序的质量。一个杂乱无章的程序让维护者望而生畏,其成本也可想而知。在面向程序设计(OOD)中有5条原则是帮助我们设计一个高效、简洁的程序:1.单一职责原则(SRP) 2.开放-闭合原则(OCP) 3.Liskov替换原则(LSP) 4.依存关系倒置原则(DIP) 5.接口隔离原则(ISP).然而这5个原则不是本节讨论的重点,我们将从一个更简单基础的部分入手-JUnit。...
分类:
其他好文 时间:
2014-09-03 18:16:27
阅读次数:
213
UML类图与类的关系详解2011-04-21 来源:网络在画类图的时候,理清类和类之间的关系是重点。类的关系有泛化(Generalization)、实现(Realization)、依赖(Dependency)和关联(Association)。其中关联又分为一般关联关系和聚合关系(Aggregatio...
分类:
其他好文 时间:
2014-09-02 21:07:05
阅读次数:
170
在uml中大部分模型描写叙述了逻辑和设计方面的信息:用例图知道期望类图能够知道问题域的词汇(类、对象)状态图、交互图和活动图能够知道类图中的词汇是怎样写作完毕行为的(逻辑结构)实现图是用来描写叙述实现方面的信息它从系统的层次来描写叙述:硬件的组成和布局;软件系统划分和功能实现。这两个方面各自是通过部...
分类:
其他好文 时间:
2014-09-02 11:59:34
阅读次数:
187
??????简单工厂模式解释: 简单工厂模式(Simple Factory Pattern)属于类的创新型模式,又叫静态工厂方法模式(Static FactoryMethod Pattern),是通过专门定义一个类来负责创建其它类的实例,被创建的实例通常都具有共同的父类。简单工厂模式的UML图: 简...
分类:
其他好文 时间:
2014-09-01 22:24:43
阅读次数:
252
??Classes类Classes are the most important building block of any object-oriented system. A class is a description of a set of objects that share the sam...
分类:
其他好文 时间:
2014-09-01 19:08:53
阅读次数:
235
曾经看到过一篇blog,上面探讨了学习UML和学习设计模式的区别,同时提出了学习UML还不如学习设计模式的观点。自我感受是,UML和设计模式在本质上属于完全不同的两个方向。设计模式是一种被反复使用、多数人知晓的、代码设计经验的总结。它可以更容易让人理解而且保证了代码的可靠性,而UML则是一种模型化和可视化的一种语言。可以这么说,设计模式是一种方法,它让我们的代码更有层次感 。而UML则是一种表达,它让我们的代码更加形象化。通过UML我们不必太过关注代码,不必担心客户是否了解相关的语言知识,整体的架构和功能的...
分类:
其他好文 时间:
2014-09-01 17:49:23
阅读次数:
401
在常规的信息系统中, 我们有需要动态多条件查询的情况, 例如UI上有多个选择项可供用户选择多条件查询数据. 那么在.net平台Entity Framework下, 我们用Lambda表达式树如何实现, 这里我们需要一个PredicateBuilder的UML类图: 实现的代码是这样的: /// //...
分类:
其他好文 时间:
2014-08-31 22:37:31
阅读次数:
389