软考中级——面向对象技术相关概念

目录

一、面向对象分析的五个活动

二、面向对象设计的五大基本原则(SOLID)和其他5个原则

三、类的三种类型

四、UML的4种事物和4种关系

五、多态的种类


一、面向对象分析的五个活动

1、认定(识别)对象 ; 2.组织对象  ;3.描述对象间的相互作用 ;4、确定对象的操作;5.定义对象的内部信息

二、面向对象设计的五大基本原则(SOLID)和其他5个原则

1.单一职责原则(Single responsibility principle),指类的功能应该是尽量单一的;

2.开放封闭原则(Open and close principle),指类的功能扩展是开放的,修改内容应该是封闭的

3.里氏替换原则(Liskov substitution principle),即一个模块中如果使用了一个基类,那么这个基类应该可以被子类替换,同时不改变程序的正确性;

4.接口分离原则(interface segregation principle),即接口要尽量独立,不要把很多接口包含在一个模块中,否则,当用户需要某个接口时,会把用户不需要的接口导入进来。

5.依赖倒置原则(dependency inversion principle), 高级别模块不应依赖低级别模块,但都依赖于抽象;或者说抽象不应依赖具体,但具体依赖于抽象。

6.重用发布等价原则(Release Reuse Equivalency Principle):重用的粒度就是发布的粒度

7.共同封闭原则(Common Closure Principle):包中的所有类对于同一类性质的变化是共同封闭的。一个变化对一个包产生影响,那么包中的类都会产生影响,而其他包的不造成影响

8.共同重用原则(Common  Reuse  Principle):一个包中所有的类都是共同重用的。如果重用了包中的一个类,那么就要重用包中所有的类。

9.稳定依赖原则:(Stable Dependencies Principle):朝着稳定的方向进行依赖

10.稳定抽象原则(Stable Abstractions Principle):包的抽象程度应该和其稳定程度一致。

三、类的三种类型

实体类:描述系统中的实体,通常可以用数据库进行存储。它包含存储和传递数据的类,还包括操作数据的类。

边界类:用于描述外部参与者于系统间的交互,位于系统于外界的交界处。包括窗体、报表、打印机、扫描仪等硬件的接口,以及其他系统的接口

控制类:用于实现应用程序的执行逻辑,可以降低界面和数据库之间的耦合,例如身份验证。

四、UML的4种事物和4种关系

UML事物分为:结构事物,行为事物,分组事物,注释事物。结构事物就是实体名称以及属性,比如类,接口,协作,用例,节点,构件等,行为事物就是动作、状态以及消息传递等。分组事物主要是包,注释事物就是注释用的。

UML关系4种:

  • 依赖:其中一个事物发送变化会影响到依赖事物。(带方向箭头的虚线)
  • 关联:主要描述对象之间结构关系,用无方向实线表示,再实现上可以标名关系内容。聚集是特殊类型的关联,用带菱形头的实线表示。
  • 泛化:一种特殊/一般关系,特殊元素(子元素)可以替代一般元素(父元素)的对象。子元素共享了父元素的行为。用空心箭头的实线指向父元素
  • 实现:一个类元执指定了由另一个类元保证执行的契约。一种接口和实现他们的类和构件之间,另一种是用例和实现他们的协作之间。

1、用例图

新增两个依赖关系

include:包含关系,基用例必须和子用例一起才算完整。执行基用例时,那么子用例必定执行。基用例指向子用例。例如,"支付"包含了"登录账户"

extend:扩展关系,基用例可以单独执行可以不执行子用例,子用例是基用例功能点的扩展。例如"支付"与“选择优惠券”之间的关系。

2.时序图

“实线带实心箭头”的表示调用消息, “实线带方向箭头”的表示异步消息,“虚线带方向箭头的表示返回。

3、状态图

包括简单状态和组合状态、转换。可以利用fork和join使组合状态再某一时刻同时达到多个子状态。中途从组合状态中退出,后续再进入组合状态时进入原先退出前的子状态,而不是从初态从新开始。

4、活动图

并发分叉:达到条件后并发执行后续任务

并发汇合:前面的任务都完成后才会执行后续的

5、构件图

向外部提供接口用”弧形头实线“(像弹弓)表示,需接口用”圆圈头实线“表示。

五、多态的种类

  • 参数多态:采用参数化模板,通过给出不同的类型参数,使得一个结构有多种类型。例如模板函数
  • 包含多态:同样的操作可用于一个类型及其子类型。(注意是子类型,不是子类。)包含多态一般需要进行运行时的类型检查。
  • 过载(overloading)多态:同一个名(操作符﹑函数名)在不同的上下文中有不同的类型。程序设计语言中基本类型的大多数操作符都是过载多态的。
  • 强制多态:编译程序通过语义操作,把操作对象的类型强行加以变换,以符合函数或操作符的要求。程序设计语言中基本类型的大多数操作符,在发生不同类型的数据进行混合运算时,编译程序一般都会进行强制多态。程序员也可以显示地进行强制多态的操作(Casting)。

你可能感兴趣的:(软考——软件设计师,系统架构设计师,面向对象,软考,设计师,UML,面向对象设计)