.Net Project 常规结构
在个人的日常工作和学习中,接触到不少的项目,这些项目结构大同小异,其结构的核心思想无外乎“分层“。
分层?从字面上理解,看似简单,实则不然。这需要从多个维度去看待这个问题。最为直接的就是根据项目的类型进行划分,继而根据这个类型再对其职责进行划分。
当然,这仅仅是个人的观点。在这方面每个人都有着自己独特的观点,所以分层的方式也不尽相同。
可以肯定的是一个优秀的项目它的结构一定非常优雅。而且一个项目的“高可用”与你的项目结构有着直接的关系。
以下是个人为这个系列博客新建的解决方案,后续的示例都以这个结构为基准

上述的解决方案中采用了传统三层架构,既 => 数据访问层+业务逻辑层+用户界面层,结构简单。当然在这个基础上个人又进行了一些划分便于后续扩展。
划分如下:
Models:实体对象层,包含了数据表的映射的实体和DTO实体。
IDAL:数据访问层的接口,提供数据库访问接口。
DAL:数据访问层的封装,依赖与IDAL层,提供对Models层操作指令。
IBLL:逻辑处理层接口。
BLL:逻辑处理层的封装,依赖与IBLL层。
Client:客户端,负责将用户的请求传递至业务层。
Common:公共层,负责提供公共服务。
以上就是这个演示项目的结构。
.Net Project 常规结构的更多相关文章
- Android基础学习第一篇—Project目录结构
写在前面的话: 1. 最近在自学Android,也是边看书边写一些Demo,由于知识点越来越多,脑子越来越记不清楚,所以打算写成读书笔记,供以后查看,也算是把自己学到所理解的东西写出来,献丑,如有不对 ...
- 令用EclipseJ2EE创建的Dynamic Web project目录结构与用MyEclipse创建的Web project一样
Eclipse for EE 版本, 创建 Dynamic Web Project 会有俩个工程. 其中一个 是你创建的工程, 另外一个 是Servers 工程(其实也就是tomcat 的一个配置) ...
- android Application Project目录结构
src:存放java源文件 gen: 资源配置文件 Android4.0: 4.0 类库 Android Private Lib: 支持库 Android Dependencies: android ...
- 玩转IDEA项目结构Project Structure,打Jar包、模块/依赖管理全搞定
前言 你好,我是A哥(YourBatman). 如何给Module模块单独增加依赖? 如何知道哪些Module模块用了Spring框架,哪些是web工程? IDEA如何打Jar包?打War包? 熟练的 ...
- 文件加载---理解一个project的第一步
当我最开始写php的时候,总是担心这个问题:我在这儿new的一个class能加载到对应的类文件吗?毕竟一运行就报Fatal Error,什么**文件没找到,类无法实例化等等是一种很“低级”的错误,怕别 ...
- 【转】C/C++位域结构深入解析
C/C++位域结构深入解析 内存是以字节为单位进行编址的,编程语言的基本类型中,最小类型的长度一般也就是1个字节.然而,在解决某些问题时,必须要有二进制层面的表达手段(见本博客的自己动手实现DNS协议 ...
- 解决Android Studio提示gradle project sync failed报错的解决方法
运行的时候报错,提示:gradle project sync failed 1.打开AS,切换到project目录结构依次进入目录app->gradle->gradle-wrapper.p ...
- IntelliJ IDEA project module
在IDEA 创建一个project,目录结构是这样的:在project下创建一个module之后目录结构是这样的: 简单的概括如下: IntelliJ系中的 Project 相当于Eclipse系中 ...
- IntelliJ IDEA 的 project 和 module 区别与关系
在IDEA 创建一个project,目录结构是这样的:在project下创建一个module之后目录结构是这样的: 简单的概括如下: IntelliJ系中的 Project 相当于Eclipse系中 ...
随机推荐
- STL-Map 源码剖析
G++ ,cygnus\cygwin-b20\include\g++\stl_map.h 完整列表 /* * * Copyright (c) 1994 * Hewlett-Packard Compan ...
- SSH项目的pom.xml文件
<!-- 属性 --> <properties> <spring.version>4.2.4.RELEASE</spring.version> < ...
- mysql导入数据中文乱码_ubuntu
1.在ubuntu中mysql的部分编码格式不是utf-8,故在导文件的时候会出现中文乱码,Windows中编码格式为gbk,因此要修改mysql的编码方式为utf-8. 2.查看MySQL编码格式: ...
- 不使用JavaScript实现菜单的打开和关闭
我在写有菜单栏的网页时,基本都会用响应式设计来适配移动端,例如把不重要的菜单选项隐藏,或者创建一个菜单按钮来控制的菜单的打开和关闭之类的.而我之前一直是使用JavaScript来实现菜单的打开和关闭的 ...
- linux定时任务cron配置
实现linux定时任务有:cron.anacron.at,使用最多的是cron任务 名词解释 cron--服务名:crond--linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与 ...
- SSM-SpringMVC-05:SpringMVC视图解析器InternalResourceViewResolver配置
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 视图解析器------默认就有配置,但是默认的在实际使用过程中有很多不方便的地方,所以我们配置一道视图解析器 ...
- RecyclerView android
RecyclerView是用来替代ListView.GridView的一个牛掰的控件.用起来更灵活,还能实现线性布局(横向.纵向).网格布局.瀑布流等美观的UI. 在使用RecyclerView时候, ...
- 找不到 blog.csdn.net 的服务器 DNS 地址
找不到 blog.csdn.net 的服务器 DNS 地址 csdn的博客用win7的电脑打不开是怎么回事?手机可以正常打开,csdn的bbs 下载什么的都可以正常使用. blog.csdn.net显 ...
- 玩转CSS3(二)---CSS3实现瀑布布局
请珍惜小编劳动成果,该文章为小编原创,转载请注明出处. 觉得腾讯微博微频道里的那种布局方式很好,在这里利用CSS3简单的实现了一下. 先上一张效果图: 代码: pubu.css /* CSS Docu ...
- textarea去掉右下角拖拽
/*去掉textarea右下角三角符号*/ resize : none;