原则一:职责单一,对象思想
一组件(包括进程和动态库)一目录,同一功能代码不要出现在不同的目录中;采用面向对象的思想实现开发,前台采用VB.NET开发,所以支持面向对象的思想,而后台可以通过定义一些规约实现C语言的面向对象的思想。
原则二:接口编程,统一规范
所有功能的开发,采用面向接口编程的开发思想,接口定义和实现分离的方法。
原则三:分层分块,面向切面
对现有代码进行剖解,并将那些影响了多模块的行为封装到一个可重用模块,并使用单独的工程和目录组织。换句话说就是将那些与业务无关,却为业务模块所共同调用的逻辑或责任,例如事务处理、日志管理、权限控制等,封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。
另外,通过目录体现出组件的不同层次,通过目录体现出不同的功能模块。在目录划分的过程总,遵循先分层后分块的原则;同时目录也代表着命名空间的不同。从目录上就可以识别出系统的框架、系统的功能;可以让开发人员对系统的功能一目了然,对系统的框架熟记于心。
原则四:手册同步,自动构建
代码及手册,废弃掉详细设计和使用手册文档;可以通过标准的注释方式表明接口的用途、参数、返回值,以及注意事项等内容;然后通过doxygen等工具自动生成详细设计文档和使用手册。
建立完整的系统构建工程,源码的编译连接、测试代码的编译连接、半自动化的测试脚本、安装包的构建等一整套的构建系统,保障系统的快速构建、快速发布。
原则五:自动测试,持续集成
系统建立单元测试代码,并构建持续集成构建环境,保证系统即时构建与快速集成,达到快速开发、快速发布的目的。
原则六:外部接口,适配转移
对于所有备调用的外部接口和被外部调用的接口,添加适配层,降低因为接口的改变带来的技术风险。
原则七:简化业务,强化技术
组件分为基础组件、功能组件、业务组件,其中基础组件封装常用类库,简化功能组件和业务组件的开发难度,最大化复用基础组件。
原则八:分而治之,步步为营
大型系统的重构,切忌一步到位,应该采用步步为营的策略,制定多个阶段,明确每个阶段的目标和时间点。