设计原则
SOLID原则
单一职责
开闭 (扩展开放,修改关闭)
里氏替换 (父类出现地方都可以用子类替换)
接口隔离
依赖倒置(高层模块不依赖低层,两层都依赖于抽象, 抽象不依赖于细节,细节依赖抽象)
UML图
静态图:对象,类,用例
动态图:活动,状态,序列
关系
泛化(继承) : 实心线+空心三角
实现: 虚线+空心三角
依赖关系(脱离后就不能单独存在): 虚线箭头
下面这三种很容易混淆
关联关系 (含有对象变量):实线箭头
聚合关系:空菱形+实线箭头
组合关系:实心菱形+实线箭头
建模及需求分析
原始需求需要拆解成具体的开发需求及建模才方便开发人员理解。
个人体会所有系统或者功能可围绕以下三点:
1.使用系统的用户有哪些
2.系统的基本场景,异常场景
3.不同用户在系统的基本场景和异常场景的角色
纯文字形式(规格说明书)不直观,因此UML图就是解决这个问题。
1.类UML图太细节了,不实用。
2.用例图可大方向了解系统涉及场景及用户
3.时序图则是具体一个功能的实现
这张图再具体点就是标注对应的类及方法
UML画图工具
推荐draw.io
原型图画图工具
推荐Figma,Sketch要收费
重构
个人常用(容易忘)的方法
1.卫语句替代嵌套条件表达式
2.查询函数和修改函数分开
3.单一变量