使用设计模式,可以让代码有以下优点
代码重用性:相同的代码,不用多次编写
可读性:编程规范性,便于理解
可扩展性:增加新的功能的时候非常的方便
可靠性:新增功能,对原有功能没有影响
对外呈现一种高内聚,低耦合
依赖:临时用到
关联:一直用到,可以双向,二个平等
阅读顺序是指向 箭头/三角 的方向
箭头代表依赖关系 三角代表继承关系 菱形代表聚合组合(菱形是三角的指向
uml类图:...这个就是类接口继承实现图... 用例图(和类图差不多,主要说明了系统在干什么(而不是怎么干
数据库使用的是桥接模式
状态模式中,after的数据来源应该是copy之后的
学校/学院/专业
遍历其中一个,其他的跟着遍历
list里面放list也会遍历出来
不要让电器类直接交互,增加中介层,调节关系
采购审批流程 由经费确定审批的人是谁
可以由校长-》院长》主任审批,一个审批不了交给下一个
可以设置成环形,就不需要设置开始审批人了,都可以作为开始审批人
套娃,千层饼
配料继承于装饰者
咖啡继承于咖啡
一起继承于饮料
一个下面有多个,多个下面又有多个,内涵递归操作
大学、学院、专业继承公共组件
组件提供add、remove、print等方法
客户端使用的时候,用统一的组件即可
歌手评分,双分派
自己的事情自己做
多用聚合少用继承,不要想着所有的成员变量都用继承
场景:controller层多用聚合,不去继承(为什么聚合要new出来呢?不能在构造方法中复制吗
单一职责原则可以由类承担,也可以分发给方法由方法承担(再方法级别满足单一职责原则,在类级别违反单一职责原则) 也可以由接口承担(一个类可以完成多个功能,每一个功能拆成一个接口,接口满足单一职责原则,类违反单一职责原则) 如果由接口承担单一职责原则,是否就会变成接口隔离原则