感觉我的学习方向错了,决定重点放在java上,其他东西偶尔会写点。
1.Java编程思想
2.和大话设计模式
面向对象编程
面向对象解决的问题
活字印刷术的思考
可维护性
可复用性
可拓展性
灵活性
面向对象的优点
在未按照标准面向对象思想设计方式的程序中,代码不容易维护,灵活性差,不容易拓展,复用性没有突出,面对需求变化,加班加点,程序大改,项目经常性延期的情况经常发生。
面向对象的封装,继承,多态的目的就是降低程序的耦合度,使其更容易修改,并且易于复用。降低后期的升级维护工作。
复用
尽可能想办法避免重复,尽量调用也有的功能模块解决问题。
业务封装
为业务划分模块,并尽可能降低耦合度
紧耦合和松耦合
此处我的理解其实应该是高内聚耦合。
模块结构紧凑,没有多余的重复性操作,但还是要保证每一个模块与其他模块的耦合度不能高。
(小菜的代码写的很少见)
此处引出实例化对象的一种操作,实例化对象的对象类型比较多,容易产生变化的时候可以考虑用一种专门的单独的类进行实例化过程,就像工厂生产线一样。
所以也叫简单工厂模式
简单工厂模式
还是将这本书的代码实现一下吧
Uml图如下:
代码下载地址:
github:
https://github.com/FastStonewkx/hometown
运行结果:
UML类图
我上学时候一直强调学习,会用一点。
这一段文字强调的是类的关联关系
聚合和合成(组合)
类与类之间的关系有泛化,依赖,关联,聚合,组合几种
我后面会加强学习。