应用程序通用开发框架
一个通用的应用程序开发框架,是一个半成品,甚至只需简单配置一下就可以运行,其至少应该具备以下几个特点:
1、完善的权限控制,对于账号,角色,权限都不需要做特别编写,框架中都已经写好。权限包括窗口权限(可见可操作/可见不可操作/不可见),菜单权限(可见可操作/可见不可操作/不可见),按钮功能权限(可见可操作/可见不可操作/不可见),数据列权限(可见可操作/可见不可操作/不可见),以及行数据对于某账户可见以及组可见等。
2、完善的多层架构体系,一般是典型的三层,UI->FACADE->BLL->DAL。UI 部分采用WINFORM来搭建,界面的易操作性应该是很强的;FACADE采用最新的WCF;BLL 部分通过框架的IOC来做,编写具体的业务逻辑类即可完成;DAL 部分直接采用合适的支持多数据库的ORM即可。那对于这样的一个架构来讲,比较好的组合有以下几个:
A、WINFORM+WCF+SPRING.NET+NHIBERNATE
B、WINFORM+WCF+CASTLE(WINDOR+ACTIVERECORD)
C、WINFORM+WCF+STRUCTUREMAP+IBATIS.NET
以上只是对C#而言,对于win32下的利器delphi来说,做客户端依然强大.
3、完善的UI部分分页机制,对于普通的一个主从数据编辑来讲,也不需要编写过多的额外代码,直接根据模板来生成并做简单修改即可使用。
4、完善的代码开发库,包括有日志,缓存,异常,验证,邮件等常用工具类,一般包装好微软企业库或者其他开源的类库即可。
5、完善的数据修改日志功能,对于任何的数据修改,新增、修改、删除都要在数据库做详细的数据修改日志,以便查询。这部分最好采用AOP框架来完成。
6、完善的报表功能。报表部分的功能需要图文并茂,并且直接制作响应的报表格式即可完成出报表功能。
7、完善的自定义功能。用户可以在WINFORM端进行自定义的操作,例如:自定义列的顺序,排序,样式,搜索条件等。
8、完善的自动更新功能。用户可以自己决定是否需要更新,但是有一些的版本更新用户是没有权利选择的。
9、完善的WINFORM 界面设计部分,实用合理的界面布局,可以换肤,强大的GRID,合理的编辑界面。
10、完善的多语言解决方案,可以作为资源下载到本地,方便切换多语言。
11、完善的WCF 安全机制,保证服务的安全性。
12、完善的BUG跟踪机制,在WINFORM 端如果出现异常,则可以记录到异常报告中,自动提交开发者来查看。
以上有了这些,基本上能成为一个通用的应用程序开发框架,对于任何系统来讲,只要集成进这个开发框架,并遵守开发框架的规范,开发者就可以将重点放到业务逻辑的开发上,就可以快速的开发出一套应用系统。
一个通用的应用程序开发框架,是一个半成品,甚至只需简单配置一下就可以运行,其至少应该具备以下几个特点:
1、完善的权限控制,对于账号,角色,权限都不需要做特别编写,框架中都已经写好。权限包括窗口权限(可见可操作/可见不可操作/不可见),菜单权限(可见可操作/可见不可操作/不可见),按钮功能权限(可见可操作/可见不可操作/不可见),数据列权限(可见可操作/可见不可操作/不可见),以及行数据对于某账户可见以及组可见等。
2、完善的多层架构体系,一般是典型的三层,UI->FACADE->BLL->DAL。UI 部分采用WINFORM来搭建,界面的易操作性应该是很强的;FACADE采用最新的WCF;BLL 部分通过框架的IOC来做,编写具体的业务逻辑类即可完成;DAL 部分直接采用合适的支持多数据库的ORM即可。那对于这样的一个架构来讲,比较好的组合有以下几个:
A、WINFORM+WCF+SPRING.NET+NHIBERNATE
B、WINFORM+WCF+CASTLE(WINDOR+ACTIVERECORD)
C、WINFORM+WCF+STRUCTUREMAP+IBATIS.NET
以上只是对C#而言,对于win32下的利器delphi来说,做客户端依然强大.
3、完善的UI部分分页机制,对于普通的一个主从数据编辑来讲,也不需要编写过多的额外代码,直接根据模板来生成并做简单修改即可使用。
4、完善的代码开发库,包括有日志,缓存,异常,验证,邮件等常用工具类,一般包装好微软企业库或者其他开源的类库即可。
5、完善的数据修改日志功能,对于任何的数据修改,新增、修改、删除都要在数据库做详细的数据修改日志,以便查询。这部分最好采用AOP框架来完成。
6、完善的报表功能。报表部分的功能需要图文并茂,并且直接制作响应的报表格式即可完成出报表功能。
7、完善的自定义功能。用户可以在WINFORM端进行自定义的操作,例如:自定义列的顺序,排序,样式,搜索条件等。
8、完善的自动更新功能。用户可以自己决定是否需要更新,但是有一些的版本更新用户是没有权利选择的。
9、完善的WINFORM 界面设计部分,实用合理的界面布局,可以换肤,强大的GRID,合理的编辑界面。
10、完善的多语言解决方案,可以作为资源下载到本地,方便切换多语言。
11、完善的WCF 安全机制,保证服务的安全性。
12、完善的BUG跟踪机制,在WINFORM 端如果出现异常,则可以记录到异常报告中,自动提交开发者来查看。
以上有了这些,基本上能成为一个通用的应用程序开发框架,对于任何系统来讲,只要集成进这个开发框架,并遵守开发框架的规范,开发者就可以将重点放到业务逻辑的开发上,就可以快速的开发出一套应用系统。