标签:bottom weight log article 前端 mave 模式 span 启动
系统设计规范化攻克了什么问题(一)
大家好,今天总结下我从事开发工作这几年里,对于项目规范化的一点想法和感触.
在笔者心里,规范是为了解决这个问题而存在的,某些规范都是为了相应问题而存在的.所以仅仅要是能解决这个问题的文档,声明都是规范.
在某时開始设计系统,带人做系统的时候.笔者考虑到了例如以下几个问题:
须要将系统设计成模块化流程化.
须要将系统具有共性的操作抽离成统一的接口
须要为系统设计一套代码规范
须要将系统设计的更能满足未来的需求
问题1攻克了哪些问题:
对于系统文件夹:笔者之前遇到过一些项目,再熟悉系统时吃了些苦头。花费了非常多时间去研究,最糟糕的是在系统环境搭建启动的时候都有非常多困难。
10个project可能有10种的搭建方式。所以假设你的项目构建比較另类,请提供一份系统文件夹搭建描写叙述。假设你不想花时间去写文档。能够使用非常多人都在用的MAVEN构建project,这样每一个开发者都能高速熟悉project,搭建project环境。
对于系统层级:假设须要你去维护一个系统,jsp中掺杂了代码,又一个类有一千行,一个函数有几百行,立即就感到眩晕感觉天要塌下来了.划分好各个层级的职能能够有效的降低这样的情况的发生,actin/web仅仅负责请求转发,service仅仅负责业务处理,dao仅仅负责数据库操作,jsp仅仅负责页面展示,domain仅仅负责对象关系映射,util仅仅负责提供工具类,constant仅仅负责提供常量,model仅仅负责页面信息对象的传递.这样各层仅仅负责指定的功能,一个流程化的开发模式就形成了.降低维护难度,降低出错的概率.
问题2攻克了哪些问题:
降低开发者工作量:在一个系统中有非常能够封装的东西,比方对数据库的操作,笔者将全部的对数据的操作方法全封装到一个接口类里,并提供了一个抽象类实现该接口.又或者对于jsp页面中提供统一的前端校验js文件,为service层提供默认的事务隔离级别与传播机制.这样就降低各开发者的工作量.
降低开发者反复性工作:如上.
问题3攻克了哪些问题
便于系统的全局控制:比方方法名是依照规范来的,那在事务控制中,因为要对不同的方法名设置不同的控制级别,那就会很方便.又比方将来要实现读写分离,须要依据方法名选择不同的数据源,方法名规范就很方便,否则就须要大量的修改.
节省时间:看到一个变量名就知道类型,看到方法名就能知道功能,看到类名就知道代表的事务,这样能够节省大量的时间.
笔者在2012年总结的一份规范文档博客:http://blog.csdn.net/cuiyaonan2000/article/details/8331002.本人的联系方式cuiyaonan2000@163.com
问题4攻克了哪些问题
技术上的需求:做系统设计须要提前想到开发者,将来在开发过程中可能遇到的问题,须要提前想到解决方式,比方须要webservice,能够提供cxf实现方案.又或者须要进行前台/后台的数据校验证,能够提前提供jquery validate实现方式.须要进行系统间的系统交互能够使用jsm实现方案.
性能上的需求:随着项目经验的添加,笔者发现假设须要提升项目性能,比方添加页面缓存,数据缓存,读写分离,全文检索,业务拆分,集群化,都会修改系统的框架.假设前期设计的不好,就须要相当于重做.所以建议项目在開始设计的时候就须要考虑到项目将来的性能问题.
整体来说笔者想到这些问题的解决办法有3方面.
让开发者用最少的时间熟悉系统,了解系统.
增强系统的可维护性,扩展性.
添加系统的性能.
标签:bottom weight log article 前端 mave 模式 span 启动
原文地址:http://www.cnblogs.com/llguanli/p/6820579.html