面向对象设计
- 继承:父类和子类之间共享数据的方法的机制。这是类之间的一种关系,在定义和实现一个类的时候,可以在一个已经存在的类的基础上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。
- 消息:对象之间进行通信的一种构造叫做消息。当一个消息发送给某个对象时,包含要求接收对象去执行某些活动的信息。接收到信息的对象经过解释,然后予以响应。这种通信机制叫做消息传递。发送消息的对象不需要知道接收消息的对象如何对请求予以响应。
- 多态:在收到消息时,对象要予以响应。不同的对象收到同一消息可以产生完全不同的结果,这一现象叫做多态。
- 覆盖:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重载。
面向对象分析方法-OOA
- 对象
- 类(实体类、边界类、控制类)
- 抽象
- 封装
- 继承与泛化
- 多态
- 接口
- 消息
- 组件
- 模式和复用
设计原则
- 单一职责原则:设计目的单一的类
- 开放-封闭原则:对扩展开放,对修改封闭
- 李氏(Liskov)替换原则:子类可以替换父类
- 依赖倒置原则:要依赖于抽象,而不是具体实现;针对接口编程,不要针对实现编程
- 接口隔离原则:使用多个专门的接口比使用单一的总接口要好
- 组合重用原则:要尽量使用组合,而不是继承关系达到重用目的
- 迪米特(Demeter)原则(最少知识法则):一个对象应当对其他对象有尽可能少的了解
设计模式的概念
- 架构模式:软件设计中的高层决策,例如C/S结构就属于架构模式,架构模式反映了开发软件系统过程中所作的基本设计决策
- 设计模式:主要关注软件系统的设计,与具体的实现语言无关
- 惯用法:是最低层的模式,关注软件系统的设计与实现,实现时通过某种特定的程序设计语言来描述构件与构件之间的关系。每种编程语言都有它自己特定的模式,即语言的惯用法。例如引用-计数就是C++语言中的一种惯用法
设计模式的分类
创建型模式
结构型模式
行为型模式
UML
UML是面向对象设计的建模工具,独立于任何具体程序设计语言。
数据流图(DFD)
基本概念
分层数据流层——顶层图
数据字典
数据流图的平衡原则
- 父图与子图之间的平衡
- 子图内平衡
答题技巧