随笔-77  评论-750  文章-51  trackbacks-22

一次进销存软件架构的实践(二)——业务外观层设计

一次进销存软件架构的实践(一)——概述

1.结构

  根据经验可以发现一个界面总是一块一块的,每一块里都是一些基本控件(按钮、文本框或者日期控件等)或者是一个网格控件和树形控件等,如果每块称为区域,里面的成为项,这样我们可以把界面抽象出两个基类:区域和项,从区域派生出的其他区域分别用来创建编辑区域、网格区域和树形区域,编辑区域中的项由项这个类中的类型属性通过分支语句去创建。

  然后就是各种类型的窗体包含的区域不同,那就再加一个外观的类,它有个属性存放所有的区域,从外观派生出的类定义各种可能的区域。而各区域的位置等信息是由窗体去做的。

  这些类还有其他的职责,从外观派生出的类负责各区域的交互等,区域负责数据绑定、固定的事件、数据初始化等,项也有数据绑定的职责,外观类的职责就是多很多了,主要一个职责是运行机制。

  事实上我不是一开始就这样思考的,我是希望各种控件等都能够用统一的方式创建、绑定、验证和权限,所以才想到有基类抽象他们,才有了项,但单有项还不能完成一个复杂的界面,所以一步一步的思考就成上面描述的结构了。

2.运行机制

这里简单列下运行时候要做的事。

1.预初始化

一些初始值的设置和合法性验证已决定是否继续等等必须放到窗体打开前的工作。

2.加载数据

通过外观类中的业务对象所实现的接口方法加载数据存储到外观类的dataset类型的数据属性中。

3.初始化权限

设置权限对象中一些与数据库中的数据有关的属性。

4.创建外观

这个时候窗体中的各控件就创建了。

5.初始化验证

同初始化权限,我的验证和权限用的是同样的一些类,我将他们抽象成了相同的东西。参考浅谈MIS系统架构,这块有些复杂但我不准备说了,用到了一个MB.JsEvaluator.dll来完成动态条件表达式。

6.结束初始化

7.绑定数据

作者:Rick Carter
出处:http://pains.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

posted on 2010-08-15 01:20 Rick Carter 阅读(2077) 评论(12) 编辑 收藏

评论:
#1楼 2010-08-15 01:50 | 小 雷      
这就是架构?....
 回复 引用 查看   
#2楼[楼主] 2010-08-15 09:39 | Rick Carter      
@小 雷
那认为是什么呢?

 回复 引用 查看   
#3楼 2010-08-15 11:46 | 缪军      
我曾经给架构简要明确的定义
至少在我的团队里,架构就是一套强制所有生产人员按照SOP执行的高度自动化的生产工具:
1、在目前我们的水平上,架构在同一个业务领域是项目无关的,
2、通过架构,团队的技术依赖大大降低,
3、通过架构,项目可以快速重建,
4、通过架构,项目迭代没有数据库参与

 回复 引用 查看   
#4楼[楼主] 2010-08-15 13:46 | Rick Carter      
笑过,路过!!!
 回复 引用 查看   
#5楼 2010-08-15 17:54 | dcll      
这些想法,用WPF 实现就更简单了。
WPF的grid、stackPanel等都可以很好对应的你说的区域。
WPF的数据绑定也更方便。

支持一下。

另外,我觉得你的文章可以列一下:常用窗体具体有哪些。
这样别人会更好理解你的框架的意图吧。
比如:我知道一般进销存会有,
1、编辑窗体:单表结构(单条记录、多条记录)、主细表结构、主 表对应多个明细表结构
2、列表窗体:用于查询的 (也会有单表、主细表等)
等等。

 回复 引用 查看   
#6楼[楼主] 2010-08-15 18:14 | Rick Carter      
@dcll
看来是时候要学习下WPF了,呵呵。
对,是的,确实是有这些窗体,你牛。
这些太详细的东西不太好表达,而且很多,如果都写的话那就太长了,有时候还要考虑到这是公司的版权,所以我就尽量只表达我的思想了。

 回复 引用 查看   
#7楼 2010-08-16 08:59 | virus      
这个顶多算是个控件设计,不算是架构吧,还没有达到架构的高度,你要站的更高
 回复 引用 查看   
#8楼[楼主] 2010-08-16 09:01 | Rick Carter      
@virus
麻烦先把第一篇看完,这篇只说外观设计,没法一篇文章就把整个系统的架构都说完的,唉!

 回复 引用 查看   
#9楼 2010-09-07 14:16 | 滔滔踏浪      
楼主怎么不更新了。
 回复 引用 查看   
#10楼[楼主] 2010-09-07 14:31 | Rick Carter      
@滔滔踏浪
发现博客园的气氛实在是不好,花那么长时间那么多精力整理自己已经实现好的东西然后让人误解甚至...哎,没意思,所以不想写了,本来有6篇文章的。

 回复 引用 查看   
#11楼 2010-09-18 11:47 | 滔滔踏浪      
太可惜了!
他人的意见有对有错,别太在意,至少不要影响心情。

 回复 引用 查看   
#12楼 2011-01-03 12:56 | 比尔锅盖      
兄弟 接着写啊。 支持你!
 回复 引用 查看   
发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 1799853 GbgLgMCsnds=