一天内开发产品管理系统的 15 个步骤
本文介绍了如何通过逐步开发一个具有特殊要求的产品管理系统,轻松地在 RapidWebDev 中开发业务解决方案。
引言
本文通过逐步介绍一个具有以下需求的产品管理系统的开发过程,说明了如何在 RapidWebDev 中轻松开发业务解决方案。 此示例系统的源代码可在此处下载。
要求
该系统的术语包括:角色、用户、权限、产品类别、产品和产品日志。产品类别是由管理员维护的枚举值,产品必须属于某个类别。产品有两种类型的属性:硬编码属性和动态属性。硬编码属性例如 Name
、Number
、Description
和 Manufactory
等,在运行时无法更改。动态属性由管理员在线维护。管理员可以随时为产品定义 Text
、DateTime
、Date
、Integer
、Decimal
和 Enumeration
等类型的动态属性。
系统包含
- 具有权限设置的角色管理
- 具有权限设置的用户管理
- 产品类别管理
- 产品动态属性管理
- 产品管理(含日志),包括
- 创建产品
- 更新产品
- 删除产品
- 批量删除产品
- 打印/导出产品
开发
首先,我们从官方网站下载 RapidWebDev 发行包(v1.51)并将其解压到本地。我打算重用其 Web 和 Tests 项目,并添加产品管理功能,以便节省设置环境和项目结构的时间。
步骤 1:为产品管理系统创建数据库
步骤 2:使用 RapidWebDev 的 SQL 脚本初始化数据库,包括 Database.sql、SchemaVersions.sql 以及 ExtensionModel.sql 的单元测试。
步骤 3:在 Visual Studio 2008 中打开下载的 RapidWebDev 解决方案,并修改 Web 项目的 Web.config 和 Tests 项目的 App.config 中的数据库连接字符串。然后修改 RapidWebDev.Web\Config\permission.config 以满足产品管理系统的需求,以便管理员可以在管理界面中为角色/用户分配正确的权限。
步骤 4:修改 RapidWebDev.Web\Config\sitemap.config 以配置导航菜单。sitemap.config 集成了授权功能,用户只能看到他们拥有相应权限的链接。
步骤 5:首次启动 Web 项目并登录。您可以看到系统主页如下截图所示。
步骤 6:然后我们可以为产品管理系统创建数据表。由于 RapidWebDev 提供了通用的角色/用户管理和具体的数据模型,我们不考虑身份验证和授权,并且可以重用产品类别的具体数据模型。所以我们只需要创建两个表 bizProducts 和 bizProductLogs。biz_Products
的架构如下
步骤 7:biz_ProductLogs
的架构如下
步骤 8:向解决方案中添加一个名为 ProductManagement
的新项目,并引用必要的程序集。然后从 ProductManagement
数据库生成 Linq2SQL
模型。此外,将 ProductManagementDataContext
的基类设置为 RapidWebDev.ExtensionModel.Linq.ExtensionDataContext
,将 Product
设置为 AbstractExtensionObject
,以支持产品动态属性。
步骤 9:在 Web 项目的 web.config 和 Tests 项目的 App.config 中配置 ProductManagement
数据上下文,并将 connectionStringName
设置为 Global
,这意味着它使用名为“Global
”的连接字符串进行数据库连接。
步骤 10:由于产品属性可以在运行时维护,我们需要创建一个安装程序来在应用程序启动时设置产品元数据类型。
步骤 11:让我们开始实现产品类别管理。首先,我们创建一个 ascx 模板用于产品类别详情面板,如下所示。由于产品类别集成了 RapidWebDev 的具体模型,实际上我们可以从 Templates\Platform\ConcreteData.ascx 复制并进行修改。
步骤 12:然后创建一个动态页面配置 ProductCategoryManagement.dp.xml。实际上,它也是从 Spring\DynamicPage\Membership\ConcreteDataManagement.dp.xml 复制和修改而来的。
步骤 13:然后实现产品管理。与产品类别一样,我们仍然先创建一个 ascx 模板用于产品详情面板。
步骤 14:为 Product
实现聚合面板、详情面板和动态页面界面,如下截图所示。
步骤 15:在最后一步配置产品管理的动态页面。
然后编译解决方案并启动 Web 应用程序。我们看到登录页面出现
使用用户=admin 和密码=password1 登录,并进入带有导航菜单的系统主页
最后
当然,如果我们需要将解决方案部署给客户,我们可能需要替换登录页面的背景图片、系统主页的标志和许可信息,甚至重命名解决方案文件名。但正如您所见,我们实际上并没有做太多开发工作。我只花了 4 个小时就创建了这个示例应用程序。但对于 RapidWebDev 的新手来说,应该不到 2 个工作日。
什么是RapidWebDev
官方网站:http://www.rapidwebdev.org
RapidWebDev 是一个基础设施,可帮助工程师轻松高效地开发 Microsoft .NET 企业软件解决方案。它包含一个可扩展且可维护的 Web 系统架构,以及一套通用的业务模型、API 和服务,这些都是几乎所有业务解决方案开发所需的基础功能。因此,当工程师在 RapidWebDev 中开发解决方案时,他们可以获得许多可重用且现成的东西,从而可以将更多精力集中在业务逻辑的实现上。实践证明,与传统的 ASP.NET 开发相比,我们可以在开发高质量、高性能的业务解决方案上节省 50% 以上的时间。