感谢大家对我的支持,上一篇(【角色】——分离开代码和权限需求,即实现代码和权限需求的解耦。 )的推荐数达到了37 。这是大家对我的认同、鼓励、支持、和期望。也是我继续写下去的动力。十分感谢。这让我感到我并不孤独,并不是所有的人都不看好自然框架。为了不辜负大家的期望,我是一定会走下去的。
同时支持我的兄弟们,我绝对不会让你们失望的! 稳定版的自然框架增在不断的完善中,争取弄个在线演示出来。
在信息管理的项目里,增删改查是一个很基础的功能,也是必不可少的功能之一。增删改查是很简单的,属于入门级的,一些公司在面试程序员的时候,往往也会出一些增删改查相关的题目。因为基础、简单、普遍,所以往往被忽视掉了。
信息管理类项目由这几个部分组成:
1、增删改查
2、报表、打印、图表
3、导入、导出
4、流程、审批
(如有遗漏,欢迎补充)
这么看来得话,增删改查占据了一个项目的四分之一,不过后三者里面或多或少的都含有增删改查的部分。
按照工作量来计算的话,增删改查至少要占据50%以上的时间(编码时间、测试时间、功能调整)。尤其到了后期,功能、流程都确定下来之后,客户的大部分修改意见都是和增删改查方面的,比如加个查询条件,列表里多显示个字段,在同一个表单里面还要在看到其他的几个信息(字段)。当然这是对于企业定制开发来说的。
实现一个增删改查不难,难的是在众多的增删改查中找到规律、找到异同点,然后提炼、抽象。
如果能够把增删改查搞定了,那么就相当于搞定了一般的项目。
2/8原则:如果我用20%的时间搞定80%的简单的事情(增删改查),那么我就有80%的时间搞定20%复杂的业务逻辑。
自然框架的第一步就是搞定这些增删改查。简单的功能都搞定不了,还何谈复杂的功能?没学会走呢就想跑?那是一定会摔跟头的。所以我要一步一步的来。
那么自然框架要如何搞定增删改查呢?
音乐盒(八音盒)和钢琴
音乐盒,很古老的东东了,不知道大家有没有印象。打开音乐盒,可以听到美妙的音乐,比如致爱丽丝。在iPod、随身听出现之前是很受欢迎的。但是他有一个缺点,就是制作好了之后,只能播放一种乐曲。除非你把它拆开来,改动里面的机关。
这就像我们写的增删改查,编译之后只能做一个增删改查。比如公司信息的增删改查编译之后。就只能实现公司信息的增删改查。如果想要实现产品信息的增删改查,那么需要修改代码重新编译。当然修改了之后他就只能改产品信息,而不能改公司信息了。
再说钢琴。钢琴能弹奏什么乐曲呢?有什么乐谱就能弹奏什么乐曲(不考虑弹钢琴人的能力问题)。听不同的乐曲,只需要换相应的乐谱就行,不必改动钢琴。
自然框架里的自定义控件就好比钢琴,而元数据就是乐谱。要实现公司信息的增删改查,那么就配置一套相应的元数据;想实现产品的增删改查,那么就配置一套产品的元数据。而代码(自定义控件、页面)是不需要修改的,除非有特殊的业务需求。
这样,简单的增删改查就可以快速的配置出来。节省出更多的时间来解决复杂的业务逻辑。做配置信息并不需要编译,到了后期,对于客户的频繁的修改,这个优势就体现出来了。因为客户提出来的修改要求,我们可以当场解决。客户要改成什么样子的,我们立刻就改,改完了立刻确认,然后签字画押。缩短周期,不给客户喘息的机会,省着他们没完没了的改。
ps:
第一份增删改查,写了一套代码,搞定。
第二份增删改查,把上一份copy过来,改改表名、字段名,搞定。
第三份增删改查,同上。
……
请问您一直都是这样做的吗?(包括使用代码生成器生成代码)
如果是的话,请继续回答下面几个问题:
请问您抽象了吗?
请问这样copy代码是对的吗?
您对这种方法满意吗?
您有没有想过,可能有更好的方法?