关于功能的设计

来源:互联网 发布:电子罗盘软件下载 编辑:程序博客网 时间:2024/05/29 04:09

关于功能设计


问题和模块的定义

a. 将模块在整体结构中的位置和作用表示出来
b. 定义模块的输入输出

编码与实现

问题定义

类层次结构是否必要
决定需要暴露的部分
找出变化,使用抽象管理


实现

是否与定义相分离(桥模式,实现独立变化)


模式选择

实现过程中,是否可以使用模式来应用到当前问题模型


从调用的角度审查

调用的类是否尽到了它的职责
是否需要流畅接口


从性能角度衡量

找出性能敏感的实现部分,不确定?测试一下找到答案


边实现边重构


职责分发与解耦

这件事是否是这个类该做的,如果不是,立即重构(有resharper,并不会花很多时间)
这个类的耦合点是什么,是否必要,否,重构

封装与调用

信息隔离
能否重用一些已知接口
调用者如何将依赖注入进来(构造器,属性,还是attribute?)


技术选择

a. 是否对它足够了解

做一些research ,了解它优势的同时,清楚它的弊端


b. 是否需要
当前的问题模型真的匹配这个技术?这个技术(框架或类库)带来的维护成本和它所解决的问题相比,是否值得?还是只是因为想要学习它而使用它?
0 0