12.面向对象设计

  1. 面向对象的主要概念
对象 主要就是将我们设计到的实体转换为代码,形成对应的对象
代码存储的实体,可以分为实体类,边界类(和外界进行沟通),控制类,内部打交道
抽象 将多个类中的共同属性抽象为一个共同的概念
封装 将类的内部进行封装,只能使用特定方法而不能直接访问属性
继承和泛化 主要涉及到类之间的关系,和抽象类似
多态 可以使用子类来模仿父类
接口 对外暴露的接口,只要符合接口的使用方式就可以进行调用
消息 异步传输的一种方式
组件 不同模块封装为不同的组件
模式和复用 主要涉及代码的复用

其次是设计原则

单一职责原则 设计一个类的时候,尽可能只包含一个单一的职责,而不是不是设计一个大而全的类
开放封闭原则 概述下就是对修改关闭,对扩展开放
里氏替换原则(lsp) 可以利用子类去替换父类,这就需要我们保证在重载父类方法的时候确保不会错误修改
依赖倒置原则 依赖于接口进行编程,而非针对实现去编程
接口隔离原则 尽量不要将所有功能封装在一个总接口中,而应该抽象出多个专门的接口
组合高于继承 组合可以解决类和类之间的耦合过高的问题,所以应该尽可能的使用组合,而非继承去达到重用关系
迪米特原则 一个类在设计和实现的时候应该尽可能的减少对其他类的依赖
  1. UML的画图

UML相关的知识分为了构造快,规则,公共机制

其中我们着重讲下其中的构造快

而构造块主要分为了事务,关系和图

其中我们的重点在于图

主要可以分为了静态图和动态图

其中重点考察对象是结构图和用例图

结构图是静态图

用例图是动态图

其中动态图的主要使用的是用例图,执行顺序图

相关通信图,

定时图

状态图,主要是状态转换

活动图,系统活动图

交互概览图,和外界的交互概览图

  1. 面向对象设计

首先明确其概念,主要分为三个部分,架构模式,关于软件设计的高层决策,其中的C/S架构就属于架构模式

设计模式,也是整个系统级别的设计,主要是关于软件功能的实现

惯用法,主要是最低级的模式,主要是利用语言的能力去实现特定的功能

  1. 设计模式详解

主要是以上三类

面向对象设计 – 创建型模式

其中一的抽象工厂类,则是定义了一种获取实例的接口,由不同的工厂类来负责生产这类的实例

其次是工厂方法模式,定义一个接口,来根据传入来确定返回什么实例

构建器模式,讲一个复杂类的表示和其构造分离,主要用于确认构建的信息无冲突

原型模式 基于原本对象来创建新的对象,比如利用浅拷贝来替换创建对象

单例模式,为了确保一个类的唯一性,提供一个全局的访问点

结构型模式

适配器模式的主要用途就是让两个接口不兼容的类一起工作的,常见于类适配器和对象适配器

桥接模式

主要是用于将实现的类和类型接口分离,进行单独实现

组合模式,则是一组对象以树形的结构进行定义,让客户端进行统一的处理,比如文件夹

装饰器模式,则是给一个对象提供一些额外的功能

外观模式,反单一职责原则的设计,将多个接口统一抽象为一个接口

享元模式,定义一个对象池,从而提供大量细粒度对象共享的方法

代理模式,为其他对象引入一种代理控制这个对象的访问

行为型模式

责任链模式,以一种链型的模式,给多个对象处理的机会

命令模式,以一个请求的方式封装一个对象,然后以一个队列的形式依次执行这些请求

解释器模式,定义一种语言,并且定义相关的文法,并且定义一个解释器,这个解释器根据文法来解释语言中的句子

迭代器模式不必说

最后是中介者模式,定义一个中介对象来封装一系列对象的交互

发表评论

邮箱地址不会被公开。 必填项已用*标注