博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
系统设计规范化解决了什么问题
阅读量:2069 次
发布时间:2019-04-29

本文共 1378 字,大约阅读时间需要 4 分钟。

系统设计规范化解决了什么问题(一)

大家好,今天总结下我从事开发工作这几年里,对于项目规范化的一点想法和感触.

在笔者心里,规范是为了解决问题而存在的,某些规范都是为了对应问题而存在的.所以只要是能解决问题的文档,声明都是规范.

  在某时开始设计系统,带人做系统的时候.笔者考虑到了如下几个问题:

  1. 需要将系统设计成模块化流程化.

  2. 需要将系统具有共性的操作抽离成统一的接口

  3. 需要为系统设计一套代码规范

  4. 需要将系统设计的更能满足未来的需求

 

问题1解决了哪些问题:

  • 对于系统目录:笔者之前遇到过一些项目,再熟悉系统时吃了些苦头,花费了很多时间去研究,最糟糕的是在系统环境搭建启动的时候都有很多困难。10个工程可能有10种的搭建方式,所以如果你的项目构建比较另类,请提供一份系统目录搭建描述。如果你不想花时间去写文档,可以使用很多人都在用的MAVEN构建工程,这样每个开发人员都能快速熟悉工程,搭建工程环境。

  • 对于系统层级:如果需要你去维护一个系统,jsp中掺杂了代码,又一个类有一千行,一个函数有几百行,马上就感到眩晕感觉天要塌下来了.划分好各个层级的职能可以有效的减少这种情况的发生,actin/web只负责请求转发,service只负责业务处理,dao只负责数据库操作,jsp只负责页面展示,domain只负责对象关系映射,util只负责提供工具类,constant只负责提供常量,model只负责页面信息对象的传递.这样各层只负责指定的功能,一个流程化的开发模式就形成了.减少维护难度,降低出错的概率.

     

问题2解决了哪些问题:

  • 减少开发人员工作量:在一个系统中有很可以封装的东西,比如对数据库的操作,笔者将所有的对数据的操作方法全封装到一个接口类里,并提供了一个抽象类实现该接口.又或者对于jsp页面中提供统一的前端校验js文件,为service层提供默认的事务隔离级别与传播机制.这样就减少各开发人员的工作量.

  • 减少开发人员重复性工作:如上.

 

问题3解决了哪些问题

  • 便于系统的全局控制:比如方法名是按照规范来的,那在事务控制中,由于要对不同的方法名设置不同的控制级别,那就会非常方便.又比如将来要实现读写分离,需要根据方法名选择不同的数据源,方法名规范就非常方便,否则就需要大量的改动.

  • 节省时间:看到一个变量名就知道类型,看到方法名就能知道功能,看到类名就知道代表的事务,这样可以节省大量的时间.

  • 笔者在2012年总结的一份规范文档博客:.本人的联系方式

 

问题4解决了哪些问题

  • 技术上的需求:做系统设计需要提前想到开发人员,将来在开发过程中可能遇到的问题,需要提前想到解决方案,比如需要webservice,可以提供cxf实现方案.又或者需要进行前台/后台的数据校验证,可以提前提供jquery validate实现方式.需要进行系统间的系统交互可以使用jsm实现方案.

  • 性能上的需求:随着项目经验的增加,笔者发现如果需要提升项目性能,比如加入页面缓存,数据缓存,读写分离,全文检索,业务拆分,集群化,都会改动系统的框架.如果前期设计的不好,就需要相当于重做.所以建议项目在开始设计的时候就需要考虑到项目将来的性能问题.

 

总体来说笔者想到这些问题的原因有3方面.

  1. 让开发人员用最少的时间熟悉系统,了解系统.

  2. 增强系统的可维护性,扩展性.

  3. 增加系统的性能.

 

 

 

 

                                                                                                           

 

 

转载地址:http://jccmf.baihongyu.com/

你可能感兴趣的文章
双向 RNN 识别手写数字
查看>>
Peephole LSTM、GRU 实战
查看>>
LSTM 的几种改进方案
查看>>
用 word2vec 进行文档聚类
查看>>
详解 GloVe 的原理和应用
查看>>
word2vec:基于层级 softmax 和负采样的 Skip-Gram
查看>>
word2vec:基于层级 softmax 和负采样的 CBOW
查看>>
用 RNN 建立语言模型
查看>>
LSTM 三重门背后的故事
查看>>
具有记忆能力的 RNN
查看>>
TensorFlow 2.0 Alpha 实用教程
查看>>
一文掌握 Keras
查看>>
一文掌握 TensorFlow 基础
查看>>
一文了解深度学习
查看>>
深度学习在自然语言处理中的应用全景图-下
查看>>
深度学习在自然语言处理中的应用全景图-上
查看>>
导读:如何通关自然语言处理面试
查看>>
R in Action 学习笔记 - 第九章-常用R函数
查看>>
R in Action 学习笔记 - 第九章-Analysis of Variance
查看>>
R in Action 学习笔记-边学边查
查看>>