UML

+”:public -private,“#protected

依赖关系:用虚线箭头表示;

关联关系:用实心箭头表示;

继承关系:用空心三角形+实线表示;

实现:用空心三角形+虚线表示;

聚合关系(Aggregation):表示一种弱的“拥有”关系。体现的是:A对象可能包含B对象,但B对象不是A对象的一部分。用空心的菱形+

线箭头表示。

合成关系(Composition):也叫“组合”关系。是一种强的“拥有关系”,体现了严格的整体和部分的关系,部分和整体的生命周期一样。

用实心的菱形
+实线箭头表示。

软件设计原则

代码的要求:可维护,可复用,可扩展,灵活性好。

面向对象的三大特征:封装,继承和多态。

单一职责原则

就一个类而言,应该仅有一个引起它变化的原因。如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化,可能会削弱或者抑制这个类完成

其它职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受意想不到的破坏。

软件设计真正要做的内容,就是发现职责并把职责相分离。如果你能想到多于一个的动机去改变一个类,那么这个类就具有多于一个的职责。

开放、封闭原则

软件实体应该可以扩展,但是不可以修改。

对于扩展是开放的,对于修改是封闭的。

依赖倒转原则

抽象不应该依赖细节,细节应该依赖抽象。

针对接口编程,不要针对实现编程。

里氏代换原则

子类型必须能替换掉它们的父类型。

一个软件实体,如果使用的是一个父类的话,那么一定适用于其子类,而且它觉察不出父类对象和子类对象的区别。也就是说,在软件里面,把父类都替换成它的

子类,程序形为没有变化。

迪米特法则

也叫最少知识原则。

如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果一个类需要调用另一个类的一个方法,可以通过第三者转发这个调用。

在类的结构设计上,每一个类都应该尽量降低成员的访问权限。

它强调了类之间的松散耦合。
 

合成复用原则

多用聚合与合成,少用继承关系。


只有注册用户登录后才能发表评论。


网站导航: