【自然框架】—— 全貌

简介:   补充:忘记了一件很重要的事情,我建立了一个小组 http://space.cnblogs.com/group/nature/ 欢迎大家加入。我们可以组织一些话题进行讨论。 ==============================================     关于自然框架,以前都是分着说的,比较零散,现在整理归纳一下,和在一起说一下。

 

  补充:忘记了一件很重要的事情,我建立了一个小组 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了吗?


 

相关文章
|
6月前
|
人工智能 算法 前端开发
打破传统叙事逻辑,构建基于原子化任务的人机交互
在复杂中后台设计中,为解决配置变更影响多场景问题,提出结合正向和逆向信息架构,采用原子化任务,动态组合任务,降低用户和开发成本,优化体验并改变已有的产品迭代和人机交互模式。未来可能发展为AI自动根据业务规则和用户行为生成最佳方案。
|
9月前
|
运维 前端开发 JavaScript
平台设计-概念澄清说明
平台所说模块一般指一个独立部署的前端项目
|
存储 大数据 OLTP
抽象真实世界的利器
抽象真实世界的利器
|
设计模式
重构·改善既有代码的设计.04之重构手法(下)完结
重构改善既有代码的设计完结篇,汇总了全部的重构手法。看看哪些手法对你的项目能有所帮助…
7443 2
重构·改善既有代码的设计.04之重构手法(下)完结
|
设计模式 程序员 开发者
重构·改善既有代码的设计.01之入门基础
近期在看Martin Fowler著作的《重构.改善既有代码的设计》这本书,这是一本经典著作。书本封面誉为软件开发的不朽经典。书中从一个简单的案例揭示了重构的过程以及最佳实践。同时给出了重构原则,何时重构,以及重构的手法。用来改善既有代码的设计,提升软件的可维护性。
650 1
重构·改善既有代码的设计.01之入门基础
编写s=1+2+3+...+n思路打破认知
最近在和领导讨论架构设计,其中涉及到如何通过代码来体现面向对象?通过一个例子来打破了原有的认知,以此总结记录自己的提升和成长
|
架构师 UED
【设计思维框架】框架 :为现代企业重新设想的设计思维(上)
【设计思维框架】框架 :为现代企业重新设想的设计思维
|
安全 数据可视化 测试技术
【设计思维框架】框架 :为现代企业重新设想的设计思维(下)
【设计思维框架】框架 :为现代企业重新设想的设计思维
|
IDE 测试技术 开发工具
ALPD学习笔记 4:高效高质量编码,测试先行和意图导向的编程
# 由外而内:发现和形成设计职责 设计是一种信息不完全情况下的决策:从最开始我们并不知道要用什么数据结构可能是最好的,如果一开始就从底层数据结构开始写,需要耗费更多脑力。 我们首先应该写确定的功能性代码,一般来说外层功能相对确定,但是底层数据结构我们不一定知道。 延迟决策到最后时刻关键信息经常会自然显现 由外而内的变成允许暂时忽略不重要的细节,“意图导向编程 Programming By Inte
265 0
ALPD学习笔记 4:高效高质量编码,测试先行和意图导向的编程
|
程序员
《重构:改善既有代码的设计》-学习笔记二(+实战解析)
《重构:改善既有代码的设计》-学习笔记二(+实战解析)
598 0
《重构:改善既有代码的设计》-学习笔记二(+实战解析)