博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASP.NET Web开发框架之八 所有ERP部分的源代码全部开放下载
阅读量:6788 次
发布时间:2019-06-26

本文共 1616 字,大约阅读时间需要 5 分钟。

前面的文章讲解了技术细节,这一篇来了解一下这个框架的制作前后,经历的一些思考。代码只对部分需要的朋友有用,重要的是经历和思路。前后花了3个月的时间,完成了这个基础的ASP.NET页面框架。

功能导航

来看一个整体的效果图,围绕这个图,看图说话,看看各个部分是如何完成的。

ERP系统功能多,如何设计一个简洁的界面,承载它的功能导航,一努力追求的目标。这里的菜单均是用菜单设计器设计出来,代码中只是读出来,并呈现成树结构。一段时间曾把它分离到X_Menu表中,后来又合并代码,直接读取框架的菜单表,这样达到B/S与C/S的统一。虽然不可能同时有两种实现,但以此为技术追求,寻求好的实现方法。

同步对比一下,C/S程序上的实体,和上面的界面模式几乎相同。

来看一个具体菜单项System Administration的界面模式,它如下图所示

左边的树节点,右边展示了它下面的功能类型,这个部分的设计,以菜单设计器设计它,先是功能类别,再为具体功能。

 

数据库

SQL Server是首选的数据库平台。其次,SQL Server有许多版本,高版本的可读取低版本的数据文件,但是一旦附加进入后,低版本的SQL Server再也无法读取这个文件。一开始以SQL Server 2008 R2开发,后来意识到要兼容于客户方面的的选择,果断把所有数据都迁移到SQL Server 2005中。版本信息是

SELECT @@VERSIONMicrosoft SQL Server 2005 - 9.00.4035.00 (Intel X86)   Nov 24 2008 13:01:59   Copyright (c) 1988-2005 Microsoft Corporation  Express Edition with Advanced Services on Windows NT 6.1 (Build 7601: Service Pack 1)

一个主数据库Framework,业务数据库为TS。请先配置数据库的主从关系,设定TS的数据库属性。

框架会为你做很多基础的工作,这个简单的配置,可以减少很多基础的重复的工作量。

 

应用程序结构

首选为插件式结构。框架只关注于自己的基础数据读写,当遇到具体业务数据时,以反射方式交给业务类型去执行。

每个应用分四层,界面层Presentation,接口层IService,接口实现层Manager,业务实体层Businss Logic。

业务逻辑层为LLBL Gen生成,接口层和实现层由Code Smith生成,界面则根据应用布局,并绑定数据属性。

ExtAspNet控件进行了部分定制,修改了少量源码以满足框架的应用需要。原计划是以它为基础进行Extension的,后来发现这样增加了测试的时间,也不利于修改维护,于是直接修改源码。这样带来的问题是当ExtAspNet控件有新版本时,需要手工合并代码。选择Beyond Compare对比两个版本的文件夹,有差异的地方用不同的颜色区分,打开一个文件后,合并到另一边,保存即可。

 

数据操作模式

有五种数据操作模式

1 单一实体表 例子比如上面提到的Company.aspx页面

2 主从表 比如销售单,有主表销售单表头和销售单明细表

有表头和表明细,一对多的关系。

3 List列表 比如要对一个或多个表进行查询,显示到一个页面中

4 Lookup 查找 用于数据选择  数据查询

5 Query 自定义查询 用户自定义查询转化为页面功能

与List相似,只不过这是由查询设计器设计出来的,List由程序编码完成。

 

在数据操作模式一节中,这个问题还要详细讨论,它对数据读写影响很大。

下载地址: http://files.cnblogs.com/files/JamesLi2015/EnterpriseSolutionWebSource.rar

转载地址:http://vmigo.baihongyu.com/

你可能感兴趣的文章
网易2016研发工程师笔试题 (整理)
查看>>
A New Effect About My Plugin render
查看>>
解决页面默认文本直接的小间距
查看>>
docker-6 管理工具
查看>>
禁止百度转码
查看>>
geoserver REST使用
查看>>
03 | 数组:为什么很多编程语言中数组都从0开始编号?
查看>>
web开发之php--- mvc 模式
查看>>
RGB565 转换 BMP24
查看>>
nodeJs 操作Mysql数据库
查看>>
《大数据时代:生活、工作与思维的大变革》读书笔记
查看>>
类的综合案例——纯虚函数与抽象类( 加强对接口与多态,以及派生类构造函数的理解 )...
查看>>
郭博分析modbus主机模式
查看>>
所有iOS 设备的屏幕尺寸
查看>>
普通平衡树(treap与splay模板)
查看>>
多项式相加
查看>>
[emuch.net]MatrixComputations(7-12)
查看>>
现在有两个变量,分别是a = 3, b = 4,那么我们不用第三个变量来调换a和b的值。...
查看>>
(算是dp吧) 小茗的魔法阵 (fzu 2225)
查看>>
Js如何调用本地应用程序
查看>>