1 面向对象
动态绑定:运行时
静态绑定:编译时
1.1 面向对象分析
- 认定对象
- 组织对象
- 对象间的相互作用
- 基于对象操作
1.2面向对象设计
- 识别类及对象
- 定义属性
- 定义服务
- 识别关系
- 识别包
2 uml中的图
类图(Class Diagram):描述一组对象、接口、协作和它们之间的关系,给出系统的静态设计视图。
对象图(Object Diagram):描述系统中的多个对象在某一时刻的状态
用例图(Use Case Diagram):从用户角度描述系统功能,描述一组用例、参与者及它们之间的关系
序列图(Sequence Diagram):主要用于描述对象之间传送消息的时间顺序。它是对对象之间交互行为的可视化表示,可以清晰地展示系统中对象间的通信顺序和消息传递关系。
通信图(Communication Diagram):在UML(统一建模语言)中强调参与一个交互的对象的结构组织,适合在分析活动中使用,用于描述少量对象的简单交互。通信图与顺序图是同构图,都用于描述交互,但侧重点有所不同。顺序图清晰地显示了时间次序,而通信图则清晰地显示了对象间关系。
状态图(Statechart Diagram):主要用于描述一个实体(例如一个对象或系统)基于事件反应的动态行为。它展示了该实体如何根据当前所处的状态对不同的事件做出反应,以及这些状态之间的转移情况。
活动图(Activity Diagram):描述系统中的过程和活动,通常用来描述系统的业务流程。
构件图:展现一组构件之间的组织和依赖
组合结构图:它表示某一对象的内部结构,其内部由一组小对象组成。这种图强调对象内部的组成对象,一般在业务系统中对象是平等的,而组合的结构就比较少一些。它的结点元素包括部件、端口、合作、合作使用,连接元素包括连接件、角色绑定。通过组合结构图,可以清晰地了解对象内部的组成和交互方式。
部署图:是面向对象系统的物理方面建模的两种图之一。它描述系统硬件的物理拓扑结构以及在此结构上执行的软件。部署图可以显示计算节点的拓扑结构和通信路径、节点上运行的软件组件。在UML中,部署图显示了系统的硬件和安装在硬件上的软件,以及用于连接异构计算机之间的中间件。通过部署图,可以清晰地了解系统的物理部署情况,包括硬件和软件之间的交互关系。
包图:用于表示系统的包和包之间的关系,是UML中的一种结构图。包是对系统的逻辑组织单元的抽象,可以包含类、接口、枚举等。
2 设计模式
2.1 创建型设计模式
- 抽象工厂模式:提供了一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。它强调一系列相关的产品对象(属于同一产品族)一起使用,并且创建对象时存在大量重复的代码。这种模式的优点在于将具体产品在应用层代码隔离,无需关心创建细节,将一系列的产品族统一到一起创建。但缺点是规定了所有可能被创建的产品集合,产品族中扩展新的产品困难,需要修改抽象工厂的接口,增加了系统的抽象性和理解难度。生成系列对象实例:假设我们有一个系统需要支持多种操作系统平台(如Windows和Linux),每种平台都有其特定的UI组件(如按钮、文本框等)。使用抽象工厂模式,我们可以定义一个抽象工厂接口,每个平台实现自己的具体工厂,负责创建该平台特有的UI组件。这样,当我们需要切换平台时,只需更换具体的工厂实现即可,而无需修改客户端代码。
- 生成器模式(Builder Pattern):也叫创建者模式,它将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创