对《生产流水线模式》讨论的总结性回复

我的上一篇文章《生产流水线模式》发布以后,引起了很多朋友的关注,大家发表了很多意见,现在我针对留言中大家提得比较多的问题,做一个总结性的回复。

 

问题一:我的敏捷开发架构是不是只实现了简单的增删改查功能?无法适应复杂的业务需求?

 

回答:当然不是,正如我在上篇文章所提出的:定义一个基类,实现IDataEntityProvider接口、实现对数据的增删查改功能。当有需要实现特定业务逻辑的数据对象时,继承该基类,编写业务逻辑代码即可

 

除此之外,还通过更为简洁的方式:利用注册事件,类似于数据库触发器,来处理业务逻辑,比如:

public virtual void Save(DataRow[] Rows)

        {

                if (this.Trigger != null)

                {

                    this.Trigger.OnSaving(this, Rows);

                }

 

                DataAccess.Update(Rows);

             

                if (this.Trigger != null)

                {

                    this.Trigger.OnSaved(this, Rows);

                }

        }

 

 

触发器的代码:

public void OnSaved(ObjectService.IDataEntityProvider dataEntity, System.Data.DataRow[] rows)

        {

            if (dataEntity is IGetMarker)

            {

                foreach (DataRow row in rows)

                {

                    MarkerEntity markEntity = ((IGetMarker)dataEntity).GetMarker(row);

                    MarkerHandler.Current.Update(dataEntity.TableName, markEntity);

                }

            }

        }

 

采用注册事件,在数据对象进行增删查改的操作同时,触发器完全可以实现对复杂业务的逻辑处理。举个例子,使用这种方式,我们实现了WWF工作流的封装,最终用户可以用浏览器实现工作流程、工作流表单、以及相应业务逻辑的设计,而这一切都不需要写一行代码。

 

问题二:这样的敏捷开发架构究竟有多少实际应用价值?

 

回答:

(1)   需求调研阶段:快速构建系统原型。

 

这个构建速度有多快呢?比如,有朋友在留言中说到,在充分调研的基础上,用一个月的时间来实现系统原型。如果换成我的话,不夸张地说,三天足矣。再具体一点,在实际项目开发中,很多用户往往会拿出一个WordExcel表单,要求我们用程序实现,那么,只需要一个小时,我们就可以实现从建表到程序运行。

 

 至于快速构建系统原型的价值,想必大家都非常清楚,除了一个马上可以运行的系统,还有什么办法,更能让用户更为踏实,更愿意沟通呢?

 

(2)   设计实施阶段

 

 一般来说,好的设计应该是容易实现的。但是再好的设计也需要编码实现,如果能通过一系列的参数设置,简单设计一下表单就能够将系统80%的工作完成,这样一来,系统设计实施的效率不就成倍地提升了吗?项目中宝贵的时间精力就可以集中到业务核心问题的解决上了。

 

举几个项目开发中的例子:

部队政工管理系统:客户在滇西,交到我手上的只是40多页的政工档案表格,以及一个部门机构设置图,数据处理不复杂,主要是权限要求很罗嗦,要求到达何种级别、职务部门的可以发何种文件,可以审阅、可以查看等等。用了一个星期完成系统,发布在服务器上,让用户试用、提意见、修改,全部完成用了两个月的时间。

 

由两个刚毕业学生完成的政府部门MIS系统,包括公文、常住人口、暂住人口、计生、党建、文档管理等等,两个学生没写一行代码完成。

 

酒吧管理系统:对酒吧的人、财、物、进、销、存进行管理,涵盖从老板、经理、领班、服务生、妈咪、小姐、酒水、包房、台、会员卡等等。对方是一家专业的酒吧管理公司,用过多套酒吧管理软件,都不满意,这次由他们自己提出详细需求,由我们来实现的。

转载于:https://www.cnblogs.com/ynfengjun/archive/2008/08/19/1270734.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/496722.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++学习之路 | PTA乙级—— 1091 N-自守数 (15 分)(精简)

1091 N-自守数 (15 分) 如果某个数 K 的平方乘以 N 以后,结果的末尾几位数等于 K,那么就称这个数为“N-自守数”。例如 392​2​​25392,而 25392 的末尾两位正好是 92,所以 92 是一个 3-自守数。 本题就请你编写程序判断一个给定…

电路板上的插头怎么拔下来_空调插头一直不拔费电吗?实测一周竟然发现了真相!...

随着气温的不断走低,全国绝大部分城市已经进入了真正意义上的秋天。那么,经过了酷热一夏,你家的空调电源插头拔掉了吗? 说道空调,想必大家都知道这“家伙”可是耗电大户。尤其在七八月份,几乎都是24小时不停机在运行。…

C++ stringstream

参考:http://www.usidcbbs.com/read-htm-tid-1898.html 常见格式串 %% 印出百分比符号,不转换。 %c 整数转成对应的 ASCII 字元。 %d 整数转成十进位。 %f 倍精确度数字转成浮点数。 %o 整数转成八进位。 %s 整数转成字符串。 %x 整数转成小写十六进位…

Java并发编程实战~思维导图

#原图 System.out.println("https://www.processon.com/view/link/61a235be1efad425fd6ff5f6")

中国“脑计划”研究正在悄然布局

来源:中国科学报 作者:黄辛 作为“十三五”上海科研发展的重点,一张神奇的脑计划研究“地图”正在悄然加紧布局。日前,在教育部科技司、国家自然科学基金委员会政策局、华东师范大学主办的“交叉融合的教育科学基础研究”研讨会上…

C++学习之路 | PTA乙级——1092 最好吃的月饼 (20 分)(精简)

1092 最好吃的月饼 (20 分)、 月饼是久负盛名的中国传统糕点之一,自唐朝以来,已经发展出几百品种。 若想评比出一种“最好吃”的月饼,那势必在吃货界引发一场腥风血雨…… 在这里我们用数字说话,给出全国各地各种月饼的销量&…

JDBC链接SQLServer2005 Express

SQLServer2005的数据库链接的jar包可以到微软网站上去下载,驱动和链接字符串如下: 1: String driver "com.microsoft.sqlserver.jdbc.SQLServerDriver"; 2: String url "jdbc:sqlserver://localhost:1433;databaseNamepubs"; SQLS…

dnf时装预览怎么打开_DNF:史上最好看时装上线,大佬已经玩疯,全服都是真香的气息...

大家好!我是风柜君,这次又是我来给大家带来DNF游戏内外的趣事,希望各位喜欢。DNF国服将在6月18日迎来第11周年庆,而在此之前,国服在6月6日的时候已经更新了一波周年庆预热活动。这次的更新除了普雷妮普通副本以外&…

Java并发编程实战~Immutability模式

解决并发问题,其实最简单的办法就是让共享变量只有读操作,而没有写操作。这个办法如此重要,以至于被上升到了一种解决并发问题的设计模式:不变性(Immutability)模式。所谓不变性,简单来讲&#…

深度解析:AWS、谷歌云、IBM Cloud和微软 Azure四巨头2018将会有哪些布局?

来源: IDC圈近来,公司规模已经不再是企业选择云服务商的重要因素,市场对云服务商优劣的判断有了多种标准。企业对全球一些大型云计算服务商(例如亚马逊AWS,谷歌云平台,IBM Cloud和微软 Azure等)…

讲解SQL Server定时作业job的设置方法

如果在SQL Server 里需要定时或者每隔一段时间执行某个存储过程或3200字符以内的SQL语句时,可以用管理->SQL Server代理->作业来实现。 ◆1、管理->SQL Server代理->作业(按鼠标右键)->新建作业-> ◆2、新建作业属性(常规)->名称[自定义本次作业的名称]…

C++学习之路 | PTA乙级—— 1093 字符串A+B (20 分)(精简)

1093 字符串AB (20 分) 给定两个字符串 A 和 B,本题要求你输出 AB,即两个字符串的并集。要求先输出 A,再输出 B,但重复的字符必须被剔除。 输入格式: 输入在两行中分别给出 A 和 B,均为长度不超过 10​6​​…

用法 stl_C++STL 容器篇

前言上一章节主要是详细介绍了C泛型编程基础,不清楚的可以回顾一下哦。本章节主要针对于CSTL(标准模板类库)做个详细介绍。标准模板类库也就是别人写的模板类,主要内容是各种数据结构的封装,以及常用算法。暂时分三个章节介绍,本章…

超级强大的 vim 配置(vimplus)

From : http://www.cnblogs.com/highway-9/p/5984285.html From : http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html From : http://www.cnblogs.com/youxia/p/linux002.html From : http://blog.csdn.net/namecyf/article/details/7787479 最近在重新配置Vim&a…

谷歌将屏蔽一切与加密货币相关的广告 6月正式生效

来源:腾讯证券北京时间3月14日下午消息,据外媒报道,谷歌开始对与加密货币相关的广告的进行打击。谷歌可持续广告业务负责人斯科特-斯宾塞(Scott Spencer)在接受CNBC采访时称,该公司正在调整与金融服务相关的…

Java并发编程实战~Copy-on-Write模式

Copy-on-Write 模式的应用领域 1、在操作系统领域。类 Unix 的操作系统中创建进程的 API 是 fork(),传统的 fork() 函数会创建父进程的一个完整副本 2、很多文件系统也同样用到了,例如 Btrfs (B-Tree File System)、aufs(advanced multi-la…

[导入]身份验证方面的问题

目前再研究Discuz !NT 1.0源码发现它Web.config中设置,为什么不用Form方式,有谁能说说?文章来源:http://topic.csdn.net/u/20080828/11/051abbea-ba95-466d-afcd-82bbb0f647e3.html转载于:https://www.cnblogs.com/zengxlf/articles/1279232.html

ARM体系结构与汇编指令

可编程器件的特点 • CPU在固定频率的时钟控制下节奏运行。 • CPU可以通过总线读取外部存储设备中的二进制指令集,然后解码执行。 • 这些可以被CPU解码执行的二进制指令集是CPU设计的时候确定的,是CPU的设计者(ARM公司)定义的&a…

微软宣布在机器翻译方面取得突破,中翻英可达人类水平

来源:猎云网一组微软研究团队于本周三宣布,他们已经创造了第一个能够将中文新闻翻译成英文的机器翻译系统,精确度与人类译者一致。该公司表示,它通过来自各种在线报纸的约2000条语句样本对这一系统进行了反复测试,并将…

pla3d打印材料密度_3D打印金属材料模型过程中常见问题

在金属3D打印过程中,可能会出现大量设备操作者试图避免的问题,包括孔隙、残余应力、致密度、翘曲、裂纹及表面光洁度等。下面我们来谈谈这几种常出现的问题。1、表面光洁度在金属3D打印件被使用或放置在展柜之前,它已经经历了大量类似CNC加工…