aehyok.com的成长之路三——框架结构
前言
首先奉上个人网站地址传送门:aehyok.com。
aehyok.com的成长之路一——开篇中主要阐述了自己为什么建立自己的网站,以及个人网站的大致方向。
aehyok.com的成长之路二——技术选型中主要简单概括了自己搭建网站过程中使用或者以后可能使用的技术。
本篇博客主要简单的来介绍一下,自己目前网站的架构,以及自己的一些想法。当然这其中很大程度受益于大神@郭明峰的开源框架以及他的指点。
框架项目结构简要说明
1-Infrastructure(基础设施)
1、aehyok.Utility:通用技术工具类
说明: 分类封装通用的与技术无关的辅助工具类功能
依赖项:无
2、aehyok.Model:各种实体类的定义
说明:1、业务实体模型
2、数据传输模型
3、展现视图模型
依赖项:无
3、 aehyok.Core:aehyok框架核心组件
说明:1. 定义aehyok框架的核心,是整个框架运行的骨架。
2. 该骨架提供数据存储、日志、缓存、权限等模块的基础接口或基类,不提供具体实现。
3. 业务层依赖于此层的接口及基类进行业务操作,而不依赖于具体实现。
4. 此层定义的接口与基类的具体实现,都是可替换的。以适应不同的业务对基础模块功能的需求。
依赖项:aehyok.Utility
4、aehyok.Core.Data.Entity:EntityFramework数据存储组件
说明: 1.提供aehyok.Core中定义的数据存储功能的EntityFramework的实现方案
2.数据库初始化策略
3.业务实体类映射
依赖项: 1.aehyok.Utility
2.aehyok.Model
3.aehyok.Core
4.EntityFramework
2-Application(应用的接口和对应的实现)
5、aehyok.Contracts:服务契约层
说明: 包含业务功能的接口的定义
依赖项: 1. aehyok.Utility
2. aehyok.Core
3.aehyok.Model
6、 aehyok.Services:服务实现层
说明:包含数据功能初始化及服务业务功能实现
依赖项:1. aehyok.Utility
2. aehyok.Model
3. aehyok.Core
4. aehyok.Core.Data.Entity
5. aehyok.Contracts
3-Presentation(各种可视化UI展现层)
7、aehyok.WebMvc和aehyok.Admin.Mvc:前后台Web 展现层
说明: 前后台UI展现层
依赖项:1.aehyok.Utility
2.aehyok.Model
3.aehyok.Core
4.aehyok.Core.Data.Entity
5.aehyok.Contracts
6.aehyok.Services
4-UnitTest
8、aehyok.UnitTest:单元测试
说明: 单元测试还在学习摸索中
依赖项:各种可依赖。