从这一节将名字做了小小修改,因为为了支持code first migrations我用的EF5.0。
图片1:
图片2:
这些首先让我们大致看下整个系统的风格,当然暂时也就这些功能。我需要一步一步完善整个通用权限管理系统。
一.整体架构概述
1.框架
1.EgojitFramework.Comm命名空间是基础的和业务无关的一些支撑类。包括BaseController类这个类基础自Controller。以后所有的控制器类都继承它。我们可以在其中做一些自己的事情。
2.EgojitFramework.Domain中是支持领域驱动思想的一些类。
3.EgojitFramework.Domain.Repositories:仓储相关类操作。这里设计成可替换的。我们这里用EF,当然也可以替换成NH。
4.EgojitFramework.Infrastructure:对对象业务的管理,主要是一些事务处理管理。
(2)系统
1.EgojitFramework.Domain.DtoUI:Dto界面类要区分它和业务类之间的关系。它主要负责将业务类的数据更合理的展示在前台界面.
2.EgojitFramework.Domain.Model:是实实在在的业务类库,这里面的每个类都会用Code first生成到数据库。他的合理性觉定这系统能走多远。
3.EgojitFramework.Services是业务服务类接口库,所有的业务相关类都在这里。这里面的方法被Controller通过反射去调用。这个也保证了Controller中的Action的纯洁性
4.EgojitFramework.ServicesIpl实现EgojitFramework.Services类库中接口的方法,被Controller通过反射去调用。
5.EgojitFramework.Web这个大家很容易看出来它是程序的B/S界面
二.依赖关系
web层通过依赖注入解耦和Services层的依赖。同时web层和DtoUI层更多的打交道。Services依赖框架中的库
时间宝贵,只能长话短说。后续系列会对各类库中的重要类做详细说明