注意Common这个组件我们不加命名空间,因为很多这是一个公共组件,其他项目也使用,共同维护。
下面我们为其建立引用关系:
这里约定,App组件,引用其他4个,其中虽然引用了DAL组件,但我们约定只允许调用DAL中的Model(例如CityMeta),不允许调用DAL中的访问数据库的方法(例如CityRepository)
调用关系总结如下:
展示层(App)调用业务接口层(IBLL),业务逻辑层(BLL)实现了接口层(IBLL),业务逻辑层(BLL)调用数据访问层(DAL),公共组件(Common)则是抽象了系统中可以共用和重用的部分,每个层都可以调用。