【自然框架】—— 全貌
2009-10-28 22:07 金色海洋(jyk) 阅读(7000) 评论(89) 编辑 收藏 举报
补充:忘记了一件很重要的事情,我建立了一个小组 http://space.cnblogs.com/group/nature/ 欢迎大家加入。我们可以组织一些话题进行讨论。
==============================================
关于自然框架,以前都是分着说的,比较零散,现在整理归纳一下,和在一起说一下。
适用范围:关系型数据库相关的项目。就是客户需要把自己的许多许多的信息都要放到关系型数据库里保存的项目。企业定制开发、MIS等。
宗旨:自然而然,顺其自然,水到渠成。该用什么就用什么,不要为了某某而某某。
原则:相同(相似)的代码(函数、类)不能出现在两个地方。就是“复用”、减少冗余代码的意思。
环境:目前是B/S,Webform。数据库采用SQL Server 2005。以后会考虑C/S,Access、Orcale等。
目标:把业务逻辑和代码分离开。就是让业务逻辑和代码弱耦合。
层次划分:UI层和非UI层,哦对了还有数据库。
分工方式:按模块分工。
思想:“主随”,目前用于建表方面。这个现在还有点说不清楚,不过权限管理就是这种思想设计的。
自然框架的组成部分
共用类库:常用函数库、数据访问函数库、登录人员管理。
自定义控件:分页控件、表单控件、查询控件、数据显示控件、联动控件、选择控件等。
共用模块:页面基类、角色管理等。
共用权限:共用权限,这个前面说的就比较多了。
源代码下载:http://www.cnblogs.com/jyk/archive/2009/10/28/1591680.html
【示意图】
自然框架的类图
【常用函数库】
【数据访问函数库】
【登录人员管理】
【自定义控件】
【页面基类】
【UDRM】(这个以后会详细说明)
【项目依赖关系】
命名空间
FAQ
问:实体类呢?
答:在自然框架里的实体类只负责业务逻辑相关的事情,不负责传递数据。因为我觉得实体类并不适合传递数据,他擅长的是处理业务逻辑。
所以对于简单的、没有什么业务需求的增删改查就不需要实体类了。
==================================================
问:业务逻辑哪里去了?
答:要回答这个就要先说一下什么是业务逻辑?增删改查是业务逻辑吗?添加新闻的时候要判断一下新闻标题有没有重复,这个算不?员工请假,领导批假,这里的领导批假算不?
我是真的不清楚这些算不算业务逻辑。判断新闻标题有没有重复,就是到新闻表里面查询一下已经添加进去的新闻标题有没有这个标题的,就是“增删改查”里的查。
员工请假,就是往一个表里面加一条信息,就是“增删改查”里的“增”,这条信息里面会有一个标志字段,标识一下这条记录是在申请中。
领导批假,说白了就是改一下那个标志,属于“增删改查”里的“改”。
可以增删改查算是业务逻辑吗?不清楚,好像有人说不是。呵呵。
也许我做过的项目都太简单了吧,还没有遇到真正的业务逻辑。
在自然框架里面,简单的增删改查视为没有业务逻辑,所以也就不需要业务逻辑了。简单的增删改查处理不了的时候再添加业务处理部分。
============================================================
下面是跑题的心里话。
可能您觉得这个很丑陋,就是一个玩具,一个人玩玩的,也许连玩具都算不上。但是这个对于我来说,是我工作八年,经历了几个项目的总结。是我的孩子,虽然现在还在幼儿期,没有太大的作用,还略显幼稚,但是我有信心让他强大起来。我的信心来自我做过的几个项目,尤其是这两年做的一个项目。对,两年多的时间才做好了一个项目。客户已经用了一年多了,基本可以达到他们的需求,客户也比较满意。这两年就是呆在客户那里,随时根据客户的意见修改程序,以满足客户不断变化的需求。风风雨雨经历了不少,尤其是在园子里的体悟。
博客园的排名是按照访问人次来计算的,六十多万人次的访问代表了什么?代表了大家对我的支持!感谢大家!程序员大多不太善于交流,尤其是我宅男型的,平时很少交流,感谢dudu为我们提供了这个平台,让我可以在这里把我的经验写出来与大家交流。
通过交流认识到了许多问题,如何沟通、如何表达自己的意思、如何压制住自己的火气,呵呵。也认识到了互联网的虚拟性,阴险、攻击,呵呵。不过这些都不算什么吧,我想现实中比这更厉害和危险。虽然工作快八年了,但是运气比较好,无论是老板、同事还是客户,都是挺好了,没遇到过勾心斗角、恶意陷害的事情,也不知道是幸运还是不幸,我就像一个温室里的花朵,很脆弱很天真。所以遇到挫折很容易生气,很容易发火。
现在想想,无非就是一个“名”在作怪。被说了、被误解了、被小瞧了,名声不就受到影响了吗?别人会觉得我啥也不是,呵呵。其实何必想得那么多呢?该解释的解释一下就行了,剩下的事情就是努力实现自己的目标——自然框架。让他尽快的成长起来,用他多做几个项目不就OK了吗?