应用程序开发架构
基于Nebula开发的应用程序应该采用以下 架构原则,并规划对应目录
- 经典的三层架构
- Controller
- BLL
- DAL
- 强类型的数据结构,并区分用途
- Entity
- DTO
- WebSite项目再增加2个层
- ViewModel
- View
说明:
- 由于采用微服务开发模式,每个服务不应该非常复杂,所以建议采用经典的三层架构
解决方案目录结构
项目目录结构
Data项目结构
- 为了方便数据结构的共用,可以创建一个独立的 Data 类库项目
- Data 项目中按应用名称创建不同的子目录,存放所需要数据结构
- 再分别创建 DTO 和 Entites 二级子目录,存放DTO和实体类型
应用程序目录结构说明:
- App_Data:存放配置文件
- BLL: 业务逻辑层代码
- Controllers: 控制器代码
- Messages: 消息处理器代码
- Workers: 一些后台任务
- Customize: 针对框架的定制化代码
- Monitor: 业务监控相关代码
- Utils: 工具类
- ViewModels: MVC的视图数据模型
- Views: MVC的视图页面
补充说明
- Controllers/Messages/Workers 它们都是【顶层】的执行主体,不应该相互调用。
- DAL层没有单独的体现,因为许多重复性的代码由ClownFish封装代替了。