子系统的分析与设计总结
1、工件——子系统
(1)子系统:子系统是UML模型元素,也是系统分析与设计过程中一个重要的工作,它不仅具有包(package)的分组特性,可以包含其他模型元素,而且具有类的封装和行为特性。子系统必须实现一个或多个接口。
(2)子系统的参与角色:设计人员
(3)子系统的可选性:对于仅由类和包组成的简单系统,子系统则为可选项
(4)与子系统相关的过程。
子系统将作为以下过程的输入:子系统设计和用例设计
子系统将作为以下过程的输出:确定设计元素、合并现有设计元素、子系统设计
2、子系统的目标
(1)松耦合(2)可移植性,即插即用性能(3)隔离变化(4)独立进展
子系统的出现也使代码具有以下特性:
-----
(1)唯一性:一个对象可能有多个名称,也可按不同的方式对它进行描述。但在一个代码体系中,一个对象只能赋予它一个唯一的代码。
(2)合理性:代码的结构应与分类体系相对应。
(3)简单性:结构尽可能简单,尽可能短,以减少各种差错。
(4)系统性:有一定的分组规则,从整个系统中具有通用性。
这里需要注意的是子系统与包在寓意上具有差异:子系统是一种通过一个或多个它所实现的接口来提供行为的包。包并不提供行为,它们只不过是用来容纳提供行为的对象的容器。
类的分析与设计总结
1、类:是面向对象设计时提出的概念,类(Class)实际上是对某种类型的对象定义变量和方法的原型。它表示对现实生活中一类具有共同特征的事物的抽象,是面向对象编程的基础。一个类定义了一组对象。类具有行为(be-havoir),它描述一个对象能够做什么以及做的方法(method),它们是可以对这个对象进行操作的程序和过程。
2、子类(派生类)对父类(基类)的继承分为三种方式:公有继承(public)、私有继承(private)、保护继承(protected),一个子类可以从一个父类派生,也可以从多个父类派生。 从一个父类派生的继承称为单继承;从多个父类派生的继承称为多继承。
我觉得子系统与类还是有很多的相似之处,都是通过接口来提供行为的。不同的是子系统在面向过程设计可以没有封装性。
-----
这块内容的重点是看懂UML图和模块化设计(23种设计模式都有与之对应的UML图)
设计模式主要有以下作用:
(1) 重用设计,重用设计比重用代码更有意义,它会自动带来代码的重用。
(2) 为设计提供共用的词汇,每个模式名就是一个设计词汇,其概念使得程序员间的交流更加方便。
(3) 在开发文档中采用模式词汇可以让其他人更容易理解你的想法,理解为什么你会这样做,你都做了些什么。编写开发文档也更加容易。
(4) 应用设计模式可以让重构系统变得容易,可确保开发正确的代码,并降低在设计或实现中出现错误的可能性,还可以为重写其他应用程序提供很好的系统框架。
(5) 正确使用设计模式,可以节省大量的时间。
23种模式中的比较重要的一下模式:
Abstract Factory(抽象工厂模式):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。
Adapter(适配器模式):将一个类的接口转换成客户希望的另外一个接口。A d a p t e r模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
Bridge(桥接模式):将抽象部分与它的实现部分分离,使它们都可以独立地变化。
-----
Facade(外观模式):为子系统中的一组接口提供一个一致的界面, F a c a d e模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
Factory Method(工厂模式):定义一个用于创建对象的接口,让子类决定将哪一个类实例化。Factory Method使一个类的实例化延迟到其子类。
-----
因篇幅问题不能全部显示,请点此查看更多更全内容