精耕平台路径

我是一名.net开发者,从dos时代turbo pascal算起(1996年),已经20多年了。写过的代码不少,做了很多反反复复的编码工作。中间带过团队做过算是中型的企业级项目,现在每天还在敲着代码,算来还是真心喜欢这个面对计算机的行业,还觉得能敲10年代码再退休,身体锻炼也必不可少,不然10年也坚持不了了,腰椎间盘突出已经来临。

我是1999年开始使用Delphi,从3到7,中途使用PB,后来2011年全面转向.net开发一直没有变化过,一直在做企业信息系统开发,做这行的一个特点就是工作繁重,需求变化多,反复修改时候多。

不论是客户需求变化产品有新方向,就得加班加点,只有一个就能让你忙活个没完没了。一直在这种赶项目进度的时间里,逼着我要想到底如何才能更快,更好的完成任务。我的老大就问我是否有一个可以直接生成代码的机器人

我的信息传统的开发方式是这样的:
分析需求->建立概要模型->概要设计建立模块框架换边界-建立数据模块和UI草图->编码,拖界面->调用Ado.Net->调用SQL语句(写点存储过程或者视图)
其中编码,拖界面,不管是webform还是mvc都是跑不了的,特别是MVC,可视化就更差。
做了N个大小项目后,每一步都让我恶心得想吐,以供应商信息维护为例:
建表:供应商(编码,名称,联系人等等)
画界面:上面的字段挨个拖一遍。
写SQL:增删改查,还是围着数据库表来一遍。
后面优化了一下:用代码生成器CodeSmith,结果生成的代码问题非常多,生成代码的引用问题,要改代码,要改库结构,又重新生成;

后面问题很多,各个公司开始开发自己的框架,想做信息系统的通用型框架;
总结了一下,参照从走出软件作坊的说法,需要具备以下功能
1、用户授权认证,用户组,角色数据与功能权限,平台许可认证,版本差异控制,业务与功能自动升级;
2、用户功能树,管理主控台;
3、表单设计器,业务模型实体设计器,工作流设计器,单据设计器,报表设计器,功能菜单设计器,多语言,多UI,查询过滤定制设计器;
4、UI框架,网格/工具栏/树形/多卡片/菜单栏/按钮/多样的编辑框/下拉框/参照录入,引用录入
5、单个实体录入框架,主从录入框架,列表框架,树形框架;列表/主从转换;
6、运行配置参数设置,单号设置规则;
7、业务预警,后台监控;
8、异常框架,业务实体权限,业务实体存储引擎;业务实体查询框架;
9、报表设计器,套打,二维,交叉,图表框架;
10、工作流引擎;消息引擎;JOB服务引擎;
11、多组织结构工具,数据导入导出工具,数据备份工具,升级更新工具;错误诊断工具,日志跟踪工具;
12、信息集成支持,SSO,OA,邮件,短信,搜索,门户等等;
13、APP开发支持;
公司组织大量人力和物力在2010-2013年开发了自身的平台v1.0和v1.1,由于我本身从delphi开始使用强大的前端开发控件DevExpress家的产品,那么自然在平台中引入了他很多前端的组件,表单设计器,UI设计器,实体XPO,SQLDapper,使用开源的任务调度Quartz.Net,开源的搜索引擎Lucene.Net等等,这个过程中也学习了很多DevExpress自身开发的平台XAF的内容,从而在2014年开始使用XAF平台;

XAF这个平台具备很多优秀的功能,而我认为VS本身也是一个强大的平台,VS也在2015开始有田园版本免费使用,这样可以使开发者能够大幅度提升开发速度;

XAF 2016有很多优秀内容,摘抄总结如下:
一、一次代码编码写,可以同时产生四种项目:
1,Web项目(b/s)
2,win项目(c/s)
3,平板电脑(beta)
4,移动端(beta)

二、数据库支持
支持14种数据库,SqlServer,Oracle,MySql,DB2.....常见的库都支持了。切换数据库时,无需修改源码,当然如果你开始用了Oracle并且手工调用了SQL语句

三、国际化本地化支持

四、自动机制
由领域对象开始
自动建立数据库
自动建立界面?列表界面?详细界面?搜索界面
?内置增删改查,无需SQL编程

五、AOP应用
AOP是面向方面的应用,XAF中被应用到了极致,比如,系统内置的 保存按钮,无论你有多少个业务对象,只要这一个保存按钮,它们的行为是一致的,都是保存到数据库的表中去,如果你需要修改保存按钮的文字,只要在一个地方修改,整个系统中都变了。
六、元数据管理

七、DomainComponents技术
八、内置功能模块

一、权限模块:
1.支持业务对象级别的权限,增删改查看权限。
2.支持字段级权限,某个字段可读可写。
3.支持行级权限,某个业务对象中某些条件的记录是否有权限进行 删 、改、查看
4.支持上述4种混合权限
5.支持角色,并支持角色嵌套,即,角色3=角色2+角色1

二、审记模块
用于实现业务对象的变更的每个环境,创建时间、修改时间、删除时间,修改内容,每个属性从什么值变更为什么值,何人操作的。
生成的记录相当多,不过可以选择性记录,或自定义。

三、 Business Class Library Customization Module 业务对象支持
这是基础模块了,实现了业务对象的无SQL CRUD操作。

四、图表模块
可以实现各种图表的显示,柱状图,饼图之类的,如果你用过DEV的控件,你就已经看过它的效果图了。
五、Clone Objct模块
实现了业务对象的复制,这是一个小模块。

六、Conditional Appearance Module Overview
条件外观模块,非常常用的模块,实现全局的控制控件是否可用,可见,颜色、字体等 。

七、FileAttachment Module,文件附件模块
用于管理附件文件,可以传到数据库中,也可以个性化为文件系统。

八、HTML Property Editor
在业务对象中可以使用html编辑器。
九、Notifications Module

提醒模块,像outlook一样,到达某时间给出一个弹出提醒,可以选择推迟或取消,可以在业务模块中进行个性化。
比如,到时间提醒去联系客户,更新订单等操作。

十、KPI模块
绩效考核模块,
工作的朋友应该都被考核过吧,是标准的模块,可以提供一些图表。

十一、Maps模块
支持地图的。

十二、Pivot Chart Module
交叉数据分析表+图表模块,在Excel中有交叉数据透视分析表,这个确实相当强大,客户可操控性很强,要什么数据统计结果,随心所欲,当然,客户要愿意操作。
这个模块同时带了图表显示,可以将Pivot中的数据同时显示成图表,很直观。
十三、Pivot Grid Module
Pivot表格的显示。

十四、报表模块
当前版本是16.2了,新的功能不断在增加,以前的版本中我们一直在等很多很好的功能。比如报表模块,以前只能在win中做报表设计,现在web中也有了报表设计器了。
相当高大上。

十五、Scheduler 模块
和Outlook中的日历一样。

十六、状态机模块
做简单审批流用的,还不错。

十七、TreeListEditor
树形列表模块,这个也很常用。

十八、验证模块
这个使用频率是最高的,必填验证,唯一验证等 ,你能想到的都有了。当然也提代了扩展接口。

十九、View Variant
让一个业务对象有多种是显示方式,并可以快速切换。比如图表界面切换成树形视图。

二十、工作流模块

时间: 2024-08-14 14:36:29

精耕平台路径的相关文章

教育科技化大旗下的彩蛋:网易精耕主义

谁在分割万亿市场的蛋糕? 近年来,我国一直在实施稳健增长的人口政策,加上消费结构的优化升级,恩格尔系数不断降低,教育文化等产品日益成为主要消费项目. 从人口增长和消费能力这些基础条件看来,教育市场的增长动因在未来几年内都不会减弱,也就意味着教育产业在未来一段时间内都会源源不断的涌入热钱. 就拿针对青少年的K12教育和针对成年人的职业教育来说,智研咨询数据显示,2020年K12教育市场规模将达到10388亿元,而由于社会压力造成的焦虑感,到2020年职业教育的市场规模也将达到8536亿元.另一方面

OPPO是如何挤掉小米的:精耕线下渠道

今年5月,IDC一份几乎是“爆炸性新闻”的智能手机出货量排名,让OPPO“被迫”走到了台前媒体的闪光灯下,在这份排名中,“OPPO挤掉了小米”,在国产手机中仅次于华为,排第二名. 这不仅是一次简单的名次超越,小米是“互联网模式”开创者,OPPO.Vivo则是精耕线下渠道的典型代表,排名变化背后,实际上是两种渠道的市场博弈,这次有人认为是线下渠道重新主导了手机市场的话语权. 然而,伴随着OPPO“出名”的还有一连串问号,OPPO为什么卖得这么好?OPPO线下渠道怎么做的?OPPO的成功能被复制吗?

Unity各平台路径总结

路径是Unity开发中令人头疼的一个问题,根据我的开发经验,现将开发中遇到的路径问题总结如下: 1. 如何读取Application.streamingAssetsPath下的文件? Edit.iOS平台可以使用File类来读取.Android平台无法使用File类读取. 通用的方式为使用WWW进行加载,并且除了Android平台以外,其他平台路径之前需要加"file://". 2. 权限问题  Application.persistentDataPath路径下的文件可读可写,Appl

Unity发布各平台路径

#if UNITY_EDITOR string filepath = Application.dataPath + "/StreamingAssets"; #elif UNITY_IPHONE string filepath = Application.dataPath +"/Raw"; #elif UNITY_ANDROID string filepath =Application.streamingAssetsPath; #endif 安卓获取文件时 需要通过W

[转载]Unity3D在各平台上的路径

原文地址 http://blog.csdn.net/u010377179/article/details/52922727 关于Unity3D在各平台上的路径问题,网上有好多的资料,如下是比较好的参考资料: 1.http://www.manew.com/thread-23491-1-1.html 2.http://www.xuanyusong.com/archives/2656 这里我不详细解释和路径的用法,只把各个路径对应的位置和访问方式总结一下. 1.Resources路径 Resource

【转】物业管理与移动互联网科技|微信公众平台,物业app,物业O2O

[导语]当下,物业管理行业正在接受新科技浪潮的冲击和洗礼,业界企业纷纷探索物业服务的新发展模式.云服务.微社区.微信公众平台.app等,这些本来陌生的词汇在物业管理行业变得耳熟能详.在借助科技手段拓展多种经营,提升竞争力.增加创富能力.开展信息化建设和管理的同时,部分物业服务企业的发展模式和理念又提升了一大步,现代科技推动物业管理行业发展正在成为现实. 第一部分:移动互联网改变传统物业管理 <ignore_js_op>  从6000斤香梨看社区O2O——记长城物业盛世家园社区香梨团购活动 普而

KeyMob上线移动广告聚合平台

KeyMob成立于2014年,是老牌的互联网公司,此次推出的移动广告聚合,正是看上了移动市场潜在的机遇.目前,国内主流移动广告平台有多盟,艾德思奇,百度联盟,国外有admob等等. 不同于其他的移动广告平台的是,KeyMob移动广告联盟定向于移动广告聚合平台,其目的是利用KeyMob本身的技术积累和行业的优势,建立一套Ad Exchange平台.KeyMob希望通过这个聚合平台能够解决开发者不知道怎么运作商业化产品的"痛处". 据悉,KeyMob广告聚合平台给开发者提供一个专门定制的广

Unity的加载路径

1.Resources 路径 只读 不能动态的修改 存放内容 预制体(prefabs) - 不容易变化的预制体 prefabs打包的时候 会自动过滤不需要的资源 有利于减小资源大小 主线程加载 Resources类的Load方法 文件夹中的内容打包的时候会被压缩和加密 2.streamingAssetsPath 内容会原封不动的打入包中 一般建议存放一些二进制文件 (配置文件,unity资源包(AB文件)等) 特点 只读 不可写 主要存放二进制文件 通过WWW类 读取文件(移动端) 3.pers

【大会】容器云服务专家精灵云成2017全球云计算开源峰会关注焦点

2017全球云计算开源峰会于4月19-20日在北京国家会议中心举行,作为云计算开源技术的年度顶级"party",现场大咖云集,共同探讨和分享开源技术在云计算领域的N种玩法.本次峰会从代码.社区和产业三大方向探讨云计算开源技术的实践和应用,作为企业级容器云服务方面的领导者,Ghostcloud精灵云也在本次峰会上分享了Docker在金融行业的应用,干货不绝,收获无数行业关注.同时,精灵云也带来了众多福利,改变世界的"盒子"在大会现场吸引了一大批参会者的围观,前来咨询和