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

    xiaoxiao2021-03-26  7

    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

     

    转载请注明原文地址: https://ju.6miu.com/read-600251.html

    最新回复(0)