7月28日的平常学习记录html
不要编写大段代码设计模式
将段落封装成一个又一个函数数组
在编写代码的工程中养成不断重构的习惯函数
函数设计遵循的原则:职责驱动设计学习
从上往下的编写:每一个被分出去的程序,能够暂时只写一个空程序而不去具体实现功能,当主程序完成之后,再一个个实现它的全部子程序。ui
当一个函数的代码行数达到15-20行,开始考虑是否须要重构代码。url
一个类不该当有太多的函数,函数过多要考虑分为多个类,一个包也不该该有太多的类设计
释义名称:new/add , edit/mod , del , find/queryhtm
释义名称:get开头的函数仅仅用于获取类属性对象
注释:职责驱动设计,首先描述该类的职责
注释:编写的是一个借口 or抽象类,在@author后添加@see,将该接口的抽象类的全部实现类列出来
代码不能写死(路径为相对路径 or 经过属性文件修改 )
预测可能发生的变化
将某些条件设置为可配置的,须要必要的注释
提升代码的可复用性
对模型进行分析,用例模型,领域模型,分析模型,正向工程,逆向工程
利用设计模式提升可变动性:经典的32个模式
if...else : (重构一下,保证不修改原有代码,仅仅增长新的代码就能应付选项的增长):写成父类方法
选项较多,而且增长选项的可能性很大的状况下可使用工厂模式
策略模式:解决继承出现的问题,减小类的继承,在类中增长某些方法的策略来代替继承,能够无限制的增长策略
适配器模式:设计的系统要与其余系统/模块交互,可能调用接口或交换数据。我方的接口按照某个协议编写,保持固定不变,在于真正对方接口时,在前段设计一个适配器类,对方协议变动,能够更换适配器。(启发:相似于rank中的service层,传的参数也一样尽可能不要限制,而是传递数组)(经过适配器接受数据or传输数据)
模板模式:一般有一个抽象类,在抽象类中有一个主函数,按顺序调用其余函数(启发:相似于JdbController extends Controller),比较个性的步骤由其继承类完成。父类的主函数应当是final,其中的函数能够是可选步骤,称为【hood】,在编写时,抽象类中并非抽象函数,而是一个空函数,继承类能够重载,也能够什么也不写,为空执行。
职责驱动设计(RDD) & 领域驱动设计(DDD)
根据职责分配行为和函数
根据需求进行用例分析,根据用例绘制领域模型和分析模型
《UML和模式应用》:RDD以职责为中心分配行为,软件对象与现实世界尽可能保持一致(低表示差别)
《领域驱动设计》:领域模型,需求分析阶段创建领域模型
高内聚低耦合
领域模型
工厂模式 based on 多态
用例模型
参考:url-link