目录

大话设计模式:1.简单工厂模式&UML类图

大话设计模式:1.简单工厂模式 & UML类图

前几章应该比较简单,快速推进!


1. 设计一个计算器:基本的面向对象

  1. 界面逻辑 和 业务逻辑 分离
  2. 双目运算符类:Operation
    1. 两个操作数,私有字段
    2. 操作数的属性(get和set方法)
    3. (虚)运算方法:供子类实现

2. 简单工厂模式

如果业务中可能增加或删除实例化的对象,可以用单独的类来做创建实例的过程,所谓工厂即创建实例的工厂。在计算器的例子中,运算操作就是需要增加或删除的,除加减乘除外,还有可能增加开方,指数等运算。 简单工厂类

  1. 根据传入参数创建对应子类,并返回

客户端

  1. 声明父类Operation oper
  2. 通过简单工厂类创建所需子类,赋值给oper
  3. 给操作数赋值
  4. 通过多态,调用oper的方法,返回运算结果

3. UML类图

UML类图

3.1. 类 & 抽象类

eg.动物

  1. 第一行:类名
  2. 第二行:属性/字段
  3. 第三行:操作/方法
  4. 类名斜体:抽象类

4. 接口

eg.飞(接口) & 讲人话(接口棒棒糖表示法)

  1. 第一行:接口名称
  2. 第二行:接口方法
  3. 棒棒糖表示法:接口在实现类中出现,类名在圆圈旁

5. 继承 & 实现接口

继承:——▶️,即空心三角形+实线 实线接口:···▶️,即空心三角形+虚线

6. 关联 & 组合 & 聚合

eg.雁群里有大雁(聚合),鸟有翅膀(组合),企鹅知道环境(关联)

本质都是类间关系都是has-a关系

  1. 组合:强的拥有关系,体现在初始化时,同时实例化(构造函数中),严格的整体与部分关系,整体和部分生命周期一样
  2. 聚合:弱的拥有关系,体现在A对象中包含B对象,但B对象不是A对象的一部分,即仅以字段/属性方式存在
  3. 关联:了解/知道,体现在有联系但没有明显的整体与部分的关联
  4. 组合 vs 聚合:组合关系,整体与部分生命周期相同,聚合关系,整体与部分生命周期不同
  5. 关联 vs 聚合:聚合关系,强调整体与部分,关联关系,多用于个体与环境,实现上都以字段的形式存在。

7. 依赖

表示类在某些方面需要依靠其他类,实现上,子类的方法需要其他类作为参数。