Atitit 项目的主体设计与结构文档 v5
Atitit 项目的主体设计与结构文档 v5
3.1. cross device跨设备(pc 手机 平板)3
3.2. cross screen跨不同屏幕(pc,手机,平板等尽可能兼容大小不同屏幕)3
3.4. 高扩展性(为以后不断的修改留下很好的余地以及较为容易的扩展3
3.6. 源码可读性dsl提升,(为以后维护修改方便维护性3
3.7. 跨平台(微信平台等app内嵌, 安卓平台app内嵌,ios平台app内嵌,pc平台)3
3.8. 跨架构部署(支持多种部署方式,bs web cs 桌面程序,Hybrid)3
3.9. 部署友好(尽可能支持绿色版复制部署,免安装sdk等)3
4.1. 跨语言环境与跨平台gui方案静态 h5+rest方案(重要)4
4.2. 客户端ui控件,避免服务端ui控件,提升扩展性(重要)4
4.3. 客户端mvc方案 避免服务端mvc方案,提升扩展性(重要)4
5. 后端语言选择企业级架构与语言体系 java 体系 net体系5
1. 版本历史说明
V5 完善了一些细节,增加了对报表架构的说明
v3 v4 继续完善细节
V2 基本内容完善
V1 大概提纲与部分内容
2. 功能大概说明
参见具体的功能文档
3. 实现的目标
3.1. cross device跨设备(pc 手机 平板)
3.2. cross screen跨不同屏幕(pc,手机,平板等尽可能兼容大小不同屏幕)
3.3. 跨语言标准化api
3.4. 高扩展性(为以后不断的修改留下很好的余地以及较为容易的扩展
3.5. 兼容性
3.6. 源码可读性dsl提升,(为以后维护修改方便维护性
3.7. 跨平台(微信平台等app内嵌, 安卓平台app内嵌,ios平台app内嵌,pc平台)
3.8. 跨架构部署(支持多种部署方式,bs web cs 桌面程序,Hybrid)
3.9. 部署友好(尽可能支持绿色版复制部署,免安装sdk等)
4. 前端界面Gui总体架构
4.1. 跨语言环境与跨平台gui方案静态 h5+rest方案(重要)
页面界面ui使用html静态页面模式,与后端交互通过ajax rest接口。。
这样方便同一个页面界面ui,可以同时应用在不同的语言与平台环境里面(比如java net php 微信 安卓 ios等跨平台app),此外手机平板 pc桌面程序等app可能需要直接把html打包在本地。。
使用客户端h5界面,可以避免平台环境绑定写死。。
如果使用服务端的jsp aspx php等模式,则会造成跨语言环境平台性的丧失,jsp是无法运行在net环境下的,反之aspx也无法运行在java环境下,而且手机平板本地app打包只能解析运行html。。
实现了较为清晰的前后端分离,团队情况下也可以同时提升俩端的开发效率
Ui方面优先使用公有标准h5,尽可能避免私有标准的ui方案,比如wpf(就是ms的h5),微信小程序(就是腾讯的h5)等。。Native方案更不推荐,除非很需要性能(通常是重度游戏,音视频等项目)。。
4.2. 客户端ui控件,避免服务端ui控件,提升扩展性(重要)
标准h5控件可能不足,推荐搭配比如amazeui bootstrap等使用广泛的跨平台ui控件,尽可能同时支持手机最好了,现在移动化是个很大趋势。。Easyui也是个不错的控件库。
如果使用了比如struts,wpf等服务端控件,就会造成环境与平台绑定,导致ui界面移植性丧失
4.3. 客户端mvc方案 避免服务端mvc方案,提升扩展性(重要)
目前常用的客户端mvc 推荐例如 angular.js vue.js等东东,同时搭配jquery等框架库
4.4. 页面流程跳转前端js实现,方便日后调整维护修改
4.5. 其他
统一的gdi与dom api
提升用户体验,界面ui动画
页面转换过渡期间动画
后端交互jq ajax 以及服务端脚本共同使用
不使用浏览器扩展模式。不好调试
界面音效设计,略
5. 后端语言选择企业级架构与语言体系 java 体系 net体系
首选企业级语言java 体系。各方面资料齐全,全体系,桌面,web,安卓系统全跨越,方便代码重用。
C# net也是企业级语言,但是跨平台较弱了,也不可做安卓手机平板app等。
其他的php 就要非常谨慎选择了 ,php 做做简单web快速开发效率高,不过较为复杂企业级应用做不了,手机平板一类app也不可。 此外源码外漏,较容易被病毒木马篡改,嵌入病毒代码片段,安全隐患。。
node.js python这一类就比较非主流了,一般不推荐了。。
尽力避免过时淘汰的语言技术,比如VB delphi asp pb 等。。
6. 中间层架构
6.1. Ioc架构容器化(重要)
6.2. 8.16. Rest 接口rest化(重要)
6.3. Hybrid集成化
6.4. Plugin插件体系模块化
6.5. Dsl化
6.6. Func base unit 基于功能的单元
6.7. platform平台化
6.8. 8.17. Text 协议文本化
7. 存储层架构
7.1. Oodb化,尽可能的oo化。
7.2. 推荐Mysql数据库,开发部署友好性高
常用的三大数据库mssql (sql server) ,mysql ,oracle 。。
sql server的主要问题是必须要安装(这个也是ms系列的通病,包括ide vs ,office,sdk等),常常这些大型软件安装麻烦,特别不同的环境,可能不同的要求,常常不能满足条件造成回滚,可能需要重启服务器,反复安装几次才可成功,此外只能在win平台。。
Mysql,绿色版免安装,部署方便,可以安装为服务,也可以单进程运行。跨linux win等服务器平台。推荐的此数据库
Oracle貌似也可绿色版运行。但是超大型数据库,比较麻烦,体积庞大,影响开发效率,除非很大型的项目,否则避免使用。
7.3. 动态orm
常用的全自动化orm架构,配合半自动化的orm架构,配合完全动态化的orm架构会更好。。
8. 报表与图表
一般的报表重点在于图表可视化展示,这里涉及到界面ui的还是h5 js 优先了。。方便多个语言环境与多个不同设备显示。
常用的图表,一般有4大图表(条形图、柱状图、折线图和饼图),此外还有金字塔,组织架构图,地图等常用图表
常用的图表类库,按照流行度排列如下 Highcharts 》》Chart.Js >>百度Echart
传统上net java系列都有一些报表图表控件,但是一般就不推荐了,因为那些是服务端ui控件,除非客户端H5 js图标库不能满足需求的列外。。
9. 配置
多模块架构配置设计
9.1. 参考资料
Atitit.js图表报表工具比较
作者:: 绰号:老哇的爪子claw of Eagle 偶像破坏者Iconoclast image-smasher
捕鸟王"Bird Catcher 王中之王King of Kings 虔诚者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部落首席大酋长,uke制度与重大会议委员会委员长,uke保安部首席大队长,uke制度检查委员会副会长,奶牛科技cto ,uke 首席cto uke波利尼西亚区大区连锁负责人,克尔格伦群岛区连锁负责人,莱恩群岛区连锁负责人,uke汤加王国区域负责人。布维岛和南乔治亚和南桑威奇群岛大区连锁负责人
Uke软件标准化协会理事长理事长 uke终身教育学校副校长
Uke 数据库与存储标准化协会副会长 uke出版社编辑总编
转载请注明来源:attilax的专栏 http://www.cnblogs.com/attilax/
--Atiend
Atitit 项目的主体设计与结构文档 v5的更多相关文章
- Atitit 项目的主体设计与结构文档 v3
Atitit 项目的主体设计与结构文档 v3 1. 实现的目标2 1.1. cross device跨设备(pc 手机 平板)作为规划2 1.2. 企业级Java体系与开发语言2 1.3. 高扩展性, ...
- 数据库表结构文档查看器 基于netcore
前言 日常开发业务代码,新接手一块不熟悉的业务时需要频繁的查看对应业务的数据库表设计文档.相比于直接翻看业务代码,有必要提供一个数据库表结构文档查看器来解决这些繁琐的问题. CML.SqlDoc CM ...
- Effective Java 第三版——19. 如果使用继承则设计,并文档说明,否则不该使用
Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...
- HTML结构文档中那些基础又重要又容易被忽略的事?
HTML结构文档中那些基础又重要又容易被忽略的事? 大部分的人,总是会做出这样下意识地判断:简单就是不重要,容易就可以直接忽略掉!其实不然,简有精髓,基石必重,岂能略而不顾!HTML结构文档的编写,可 ...
- 利用DBExportDoc V1.0 For MySQL自动生成数据库表结构文档
对于DBA或开发来说,如何规范化你的数据库表结构文档是灰常之重要的一件事情.但是当你的库,你的表排山倒海滴多的时候,你就会很头疼了. 推荐一款工具DBExportDoc V1.0 For MySQL( ...
- 小程序原理,生成SQL SERVER 2008 数据库所有表的结构文档
作者:wide288 , 日期:2013-7-31 以前开发中,用 MYSQL 数据库,有个小程序 生成数据库结构文档.很方便,做为开发组的文档很有用. 现在开发中用到了 SQL SERVER 200 ...
- 【工具篇】利用DBExportDoc V1.0 For MySQL自动生成数据库表结构文档
对于DBA或开发来说,如何规范化你的数据库表结构文档是灰常之重要的一件事情.但是当你的库,你的表排山倒海滴多的时候,你就会很头疼了. 推荐一款工具DBExportDoc V1.0 For MySQL( ...
- 基于.NetCore3.1搭建项目系列 —— 使用Swagger做Api文档 (上篇)
前言 为什么在开发中,接口文档越来越成为前后端开发人员沟通的枢纽呢? 随着业务的发张,项目越来越多,而对于支撑整个项目架构体系而言,我们对系统业务的水平拆分,垂直分层,让业务系统更加清晰,从而产生一系 ...
- 基于.NetCore3.1搭建项目系列 —— 使用Swagger做Api文档 (下篇)
前言 回顾上一篇文章<使用Swagger做Api文档 >,文中介绍了在.net core 3.1中,利用Swagger轻量级框架,如何引入程序包,配置服务,注册中间件,一步一步的实现,最终 ...
随机推荐
- SCD Type2 in ODI
缓慢变化维(Slowly changing Dimensions)指的是维表中的维度字段值会随着时间或业务调整,而在后续的分析中,历史数据仍然要使用旧的维度值,新的数据会使用当前维度值.在数据仓库建设 ...
- PHP中json_encode中文编码的问题_学习
/** * 由于php的json扩展自带的函数json_encode会将汉字转换成unicode码 * 所以我们在这里用自定义的json_encode,这个函数不会将汉字转换为unicode码 */ ...
- windows下卸载mysql5.5,升级为mysql5.7.25
0. 停止mysql的服务 1. 卸载mysql5.5 1.1 使用360或者控制面板卸载mysql,为求干净,我使用的360,结果也需要手动清理 1.2 卸载完成之后到mysql的安装目录删掉该目录 ...
- ios中xml和html解析(封装)
下载地址 http://pan.baidu.com/share/link?shareid=2902188921&uk=923776187 GDataXML和TFHpple配置是一样的(配置方 ...
- [转载]Error starting Sun's native2ascii:
原文地址:Error starting Sun's native2ascii:作者:大一吧浪 Error starting Sun's native2ascii: at org.apache.tool ...
- Distributed systems theory for the distributed systems engineer
Gwen Shapira, SA superstar and now full-time engineer at Cloudera, asked a question on Twitter that ...
- [Spring学习笔记 6 ] Spring JDBC 详解
项目使用maven管理,pom.xml和项目组织如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xs ...
- resume.c
resume.c //采用CURLOPT_RESUME_FROM_LARGE 实现文件断点续传功能 #include <stdlib.h> #include <stdio.h> ...
- linux达人养成计划学习笔记(二)—— 文件查找命令
一.locate命令 1.命令格式: locate 文件名 2.locate在后台数据库中按文件名搜索,速度快,locate命令所搜索的后台数据库 /var/lib/mlocate 3.后台数据库跟新 ...
- 系统服务中没有Windows Installer服务怎么办
在安装软件时,发现安装不了,提示没有Windows Installer服务,到系统服务中一看,果真没有这一项,这是什么问题呢? 出现这种情况,多为与Windows Installer服务相关的文件丢失 ...