写了3年多的单片机C程序,感觉技术提升速度较慢,准备学习点新东西。之前看到一句话很有感触:“学语言也需要学语言设计”;由于一直写C程序,面向过程编程的思想固化比较严重,在学习和使用C#、JAVA时严重体会不了面向对象的编程思想;故而开始找资料学习语言设计。这几天在看《大话设计模式》不错,写写阅读笔记,作为学习记录。
以下插图使用yworks 工具绘制,画流程图、UML、泳道图很顺手。
1. 类
第一层显示类名称,如果是抽象类则用斜体显示。第二层类字段属性。第三层类方法和行为。
“+”表示public ,“#”表示protected,“-”表示private。
2.接口
2.1矩形表示方法
第一层有<<interface>>,跟着接口名称;第二层属性为空;第三层方法。
2.2棒棒糖表示方法
圆圈旁为接口名称,接口方法在实现类中出现(非抽象类不用斜体)。
3.类与类,类与接口关系
3.1类继承
空三角形+实线
3.2实现接口
空三角形+虚线
3.3类关联
实线箭头
3.3类聚合
空心菱形+实线箭头
3.4类合成(组合)
实心菱形+实线箭头
3.5类依赖
复制一下书第一章结尾的话:
“编程是一门技术,更是一门艺术,不能只满足于写完代码运行结果正确,当考虑代码如果更加简练、容易维护、扩展、复用,只有这样才能真正得到提高,写出优雅的代码真的是一件很爽的事”。