Atitit v3项目快速推进的推荐技术标准化 规范 流程

Atitit v3项目快速推进的推荐技术标准化 规范 流程

 

 

为了加快进度,大力简化技术复杂度。。如在已有项目二次开发,则原模块技术架构尽可能不变,新增模块则可以应用新办法

 

 

1. 快速开发 简化开发的原则 2

1.1. 上手难度小 复杂度低  业界趋势观测 2

1.2. 免配置,免编译 2

1.3. 统一化技术栈 2

1.4. Dsl 4gl 优先于 3gl , 3.5gl  优先于3gl 2

1.5. 可读性优先原则 2

1.6. Hybrid原则 2

2. Gui界面方面 主要是h5体系 2

2.1. 技术体系:全面的前后台分离 2

2.2. 全面使用客户端界面技术mvc 优先于服务端界面技术 全面使用h5  html扩展名文件模式 2

2.3. Ajax fetch +es6+vue.js绑定数据 3

2.4. 主要框架 jquery vue.js 3

2.5. 主要工具html ide dw cs js ide webstorm 3

2.6. 注意模块化路径,模块自包含 3

2.7. 界面路径放在主项目下,不要放在web-inf 3

3. 中间层di ioc 接口 4

3.1. 使用静态工厂 servicelocator 优先于使用spring 大力降低技术难度复杂度 4

3.2. 为了保持对spring的了解,以便二次开发某些客户项目,可以在少部分模块,使用spring 4

4. 架构  rest接口 4

4.1. 优先俩层架构实现,,少部分复杂模块三层 4

4.2. 减少interface,尽可能一个后端service实现一个实体功能。如此模块确实有必要扩展,才使用interface模式。 4

4.3. 业务逻辑适当分散在dsl js 存储过程 触发器 4

4.4. 后端弱化为webjdbc驱动 前端js可直接传递sql到后端,获取数据,绑定到界面控件 5

4.5. 接口通用化 内部传输dsl作为数据 5

5. 数据存储 5

5.1. 技术体系,dsl4glsql 5

5.2. 框架方面使用apache dbutil mybatis优先于hibernate 5

5.3. 数据返回与绑定 使用map通用模式 优先于 实体domain模式 5

5.4. 适当使用存储过程 触发器 视图 简化开发 6

5.5. 要使用数据库gui管理工具比如navicate,简化开发,不要全程代码模式 6

5.6. 为了保持对hibernate的了解,可以在某些简单独立模块适当的使用hibernate 6

 

 

1. 快速开发 简化开发的原则

1.1. 上手难度小 复杂度低  业界趋势观测

1.2. 免配置,免编译

1.3. 统一化技术栈

1.4. Dsl 4gl 优先于 3gl , 3.5gl  优先于3gl

Dsl 领域特定语言,包含 H5 sql  等,4gl 第四代语言

Jsscript语言被称为3.5gl

Java c#这一类就是3gl了。 语言代际越高越简单易读,反之越繁琐。。

1.5. 可读性优先原则

1.6. Hybrid原则

二次开发中途加入也是常见的。。保持对原有模块框架体系的不变,但新模块使用新的更加简单快捷的技术来实现即可。。其次,所有的框架都可以混合使用的,以便根据项目或者产品情况,取长补短,综合起来是王道

2. Gui界面方面 主要是h5体系

2.1. 技术体系:全面的前后台分离

界面文件扩展名即是html。。。前段界面全静态,方便前后端人员同时介入以及工作压力分担。甚至基于我们开发的通用接口,前段人员可以独立完成一个项目(需要懂点sql)。。

2.2. 全面使用客户端界面技术mvc 优先于服务端界面技术 全面使用h5  html扩展名文件模式

界面文件扩展名即是html。前端设计出界面后可以直接附加ajax即可连接后端,中间随时也方便前端人员调整界面

 

数据通信通过通过服务端js数据获取模式(主要应用在查询场合,大部分时候比ajax更加简单),以及ajax (编辑场合,当然查询场合也可,根据情况判断)

 

不要使用服务端界面技术jfinaljstl el jsp freemark struts等等就不推荐了。

 

2.3. Ajax fetch +es6+vue.js绑定数据

Fetch是取代jq与原生ajaxw3c标准化api。。

Es6ie兼容上可能有一些问题,但对于快速开发很有用,项目可以统一使用浏览器chrome56+来实现。。特别是es6lambda,大力简化代码复杂度

Json数据绑定界面控件vuejs

 

2.4. 主要框架 jquery vue.js  

如需要美观度,适当使用css框架 bootstrap 美化下,如项目没要求,可以先不管美观度

vue.js 用来绑定数据到界面table控件,form表单等。

也可以使用jq单独绑定每个form表单内的控件,比较繁琐些,推荐使用vue绑定

 

不推荐anrular.js这类较为复杂的框架了。

 

2.5. 主要工具html ide dw cs js ide webstorm

2.6. 注意模块化路径,模块自包含

模块所用的特有的html js css img都放在同一模块文件夹下,可以建立子文件夹按照类型,如果文件多的话。

 

不推荐不管什么模块,凡是图片统统扔到image目录,凡是js统统js目录。

2.7. 界面路径放在主项目下,不要放在web-inf

界面路径放在主项目webroot下,不要放在web-inf,这样增加一些额外代码才能直接访问,而且需要服务端mvc增加复杂性

 

3. 中间层di ioc 接口

3.1. 使用静态工厂 servicelocator 优先于使用spring 大力降低技术难度复杂度

只有在必要的某些模块的某些功能,确实需要这样的扩展性时候,才使用spring完成此功能。

相对来说。Spring较为复杂繁琐。

 

3.2. 为了保持对spring的了解,以便二次开发某些客户项目,可以在少部分模块,使用spring

这部分模块最好比较简单,独立。这样不太影响项目进度。。各得其所

 

4. 架构  rest接口

4.1. 优先俩层架构实现,,少部分复杂模块三层

Servcie dao合并,去除interface。。直接一个xxService.java文件实现一个模块功能。

二八原则,大部分模块都是简单的。

4.2. 减少interface,尽可能一个后端service实现一个实体功能。如此模块确实有必要扩展,才使用interface模式。

 

4.3. 业务逻辑适当分散在dsl js 存储过程 触发器 

有些业务逻辑使用js实现更加简单,有些存储过程更简单。

不要把业务逻辑一股脑全部塞到java后端代码里面,这样开发起来较为繁琐和麻烦。

Js sql的优点就是dsl 化方便开发。

 

4.4. 后端弱化为webjdbc驱动 前端js可直接传递sql到后端,获取数据,绑定到界面控件

前端js可直接传递sql到后端,获取数据,绑定到界面控件。

注意::这个可大力简化开发。。

适合与后台界面管理xxx系统的模块,不会有安全隐患,因为需要登陆才能使用,而且都是内部人员登陆。。

但不适合与面向公众开放的模块,在公众模块会有一定安全隐患。。。

4.5. 接口通用化 内部传输dsl作为数据

对于数据库项目,一般涉及数据操作的大部分为sql语句。。

或者更高的安全性或者数据库移植性,使用sp存储过程

其他方面使用同一的http param模式的dsl,指明要调用的java方法路径与参数传递

5. 数据存储

5.1. 技术体系,dsl4gl sql

5.2. 框架方面使用apache dbutil mybatis优先于hibernate

查询方面使用dbutil 更加简单,特别复杂条件。。二八原则,一个项目80%是查询,20%才是增删改

 

5.3. 数据返回与绑定 使用map通用模式 优先于 实体domain模式

通过json框架返回序列化效果是一样的,但可以大力减少复杂度。。增强通用性。

 

5.4. 适当使用存储过程 触发器 视图 简化开发

5.5. 要使用数据库gui管理工具比如navicate,简化开发,不要全程代码模式

5.6. 为了保持对hibernate的了解,可以在某些简单独立模块适当的使用hibernate

方便二次开发某些项目。。因为这些项目可以使用了这类orm框架

 

 

作者:: 绰号:老哇的爪子claw of Eagle 偶像破坏者Iconoclast image-smasher

捕鸟王"Bird Catcher  kok  虔诚者Pious 宗教信仰捍卫者 Defender Of the Faith. 卡拉卡拉红斗篷 Caracalla red cloak 万兽之王

简称:: Emir Attilax Akbar 埃米尔 阿提拉克斯 阿克巴

全名::Emir Attilax Akbar bin Mahmud bin  attila bin Solomon bin adam Al Rapanui 埃米尔 阿提拉克斯 阿克巴 本 马哈茂德 本 阿提拉 本 所罗门 本亚当  阿尔 拉帕努伊

常用名:艾提拉(艾龙),  EMAIL:1466519819@qq.com

 

 

头衔:uke总部o2o负责人,全球网格化项目创始人,

uke交友协会会长  uke捕猎协会会长 Emir Uke部落首席大酋长,

 

uke宗教与文化融合事务部部长, uke宗教改革委员会副主席

uke制度与重大会议委员会委员长,uke保安部首席大队长,uke制度检查委员会副会长,

 

uke 首席cto   软件部门总监 技术部副总监  研发部门总监主管  产品部副经理 项目部副经理   uke科技研究院院长uke软件培训大师

 

uke波利尼西亚区大区连锁负责人 汤加王国区域负责人 uke克尔格伦群岛区连锁负责人,莱恩群岛区连锁负责人,uke布维岛和南乔治亚和南桑威奇群岛大区连锁负责人

 Uke软件标准化协会理事长理事长 Uke 数据库与存储标准化协会副会长

 

uke终身教育学校副校长   Uke医院 与医学院方面的创始人

 uec学院校长, uecip图像处理机器视觉专业系主任   uke文档检索专业系主任

Uke图像处理与机器视觉学院首席院长

Uke 户外运动协会理事长  度假村首席大村长   uke出版社编辑总编

 

转载请注明来源:attilax的专栏  ?http://blog.csdn.net/attilax

--Atiend  v8

 

posted @ 2017-03-08 05:34  attilaxAti  阅读(30)  评论(0编辑  收藏  举报