UML时序图
-
时序图是干什么的?
按时间顺序,显示对象之间的交互关系。 -
时序图有那些元素?
角色
对象
生命线
控制焦点
消息
组合片段 -
时序图怎么画?
PlanUML
SmartUML
参考:
http://plantuml.com/zh/sequence-diagram
https://www.jianshu.com/p/9946566dfd74
https://blog.csdn.net/fly_zxy/article/details/80911942
UML类图
-
类图是干什么的?
描述系统中所包含的类,以及这些类之间的关系 -
类之间都有那些关系?
关联
聚合
组合
泛化
实现
依赖
泛化=实现>组合>聚合>关联>依赖
关联关系和聚合关系在语法上面难以区分,通过需要根据具体的逻辑,比如:老师和学生有关联关系,汽车和轮胎有聚合关系,人的头和嘴有组合关系。这里可以理解为:虽然轮胎可以单独存在,但是轮胎不装到汽车上面好像也没有什么用途,但是老师和学生都是完成的实体。
-
怎么画类图?
PlantUML
VISIO
类图.png
参考:
http://www.uml.org.cn/oobject/201211231.asp
https://www.cnblogs.com/pangjianxin/p/7877868.html
http://plantuml.com/zh/class-diagram
异常处理
image.png
检查异常
:除了RuntimeException,所有继承于Exception的子类。比如:SQLException,检查异常意味着出现了异常以后还有挽救的机会,比如数据库连不上,可能是网络不稳定,捕获检查异常尝试连接。
非检查异常
:检查异常以外的其他异常。为什么非检查异常不要求必须捕获?我认为非检查异常是不应该出现的异常,而检查异常是可能出现的异常
,比如:NullPointerException,这种异常一般是没有办法挽救的。
建议:
对于特定的异常,自定义特定的异常类,如果都使用比较通用的异常类,不能直观的表达异常,比如:一个用于装载用户概要的方法,在找不到用户时应该抛出 NoSuchUserException ,而不是 SQLException —— 调用者可以很好地预料到用户可能找不到,但是不知道如何处理 SQLException
参考资料:
Java 异常处理及其应用
关于异常的争论
网友评论