重构工作感悟

最近正在计划做手机输入法项目的网络模块重构,总结现有问题的过程中感觉有了一些新的认识或者是对以往知识的重新认识:

1,设计模式是对设计原则的延伸和扩展
“单一职责”,“高内聚低耦合”,“关注分离点”等等原则是其它设计模式的出发点和实现目标,或者说原则是根基,具体的模式是表现形式。重构的过程不是实现某个具体模式的过程,而是根据基本原则设选择一种合适的模式的过程。
2,问题背后的问题才是关键
查看输入法代码的过程中发现结构化的数据比较少(或者说是java bean类),这造成的问题就是数据传输只能靠变量,改动涉及的文件比较多,范围比较大。再往深层次里挖掘就会发现,这个问题根本原因不是个人的编程习惯,而是架构上没有做逻辑分层和面向接口设计,因为结构化数据是分层和接口的基础条件,不同层或模块间传递数据不可能只靠变量,必然是数据结构。
这就是question behind question。就像一个人的坏习惯,改掉会很困难,因为习惯的背后往往是价值观和认知模式。

你可能感兴趣的:(重构工作感悟)