在应用分层架构中,上层依赖下层是默认的设计原则,箭头关系表示直接依赖关系。例如,开放接口层可以直接依赖于web层,也可以直接依赖于service层。以下是对各个层的详细描述和异常处理、领域模型、二方库依赖、服务器规约等方面的规约:
应用分层架构:
开放接口层:
终端显示层:
Web层:
Service层:
Manager层:
DAO层:
外部接口或第三方平台:

分层异常处理规约:
DAO层:
catch(Exception e)方式,并throw new DAOException(e)。Service层:
Manager层:
Web层:
开放接口层:
分层领域模型规约:
DO(Data Object):
DTO(Data Transfer Object):
BO(Business Object):
AO(Application Object):
VO(View Object):
Query:
二方库依赖规约:
定义GAV遵循以下规则:
GroupID格式:
com.[公司/BU].业务线[.子业务线],最多4级子业务线可选。例如:com.taobao.jstorm, com.alibaba.dubbo.register。ArtifactID格式:
产品线-模块名,语义不重复不遗漏,先到中央仓库查证一下。例如:dubbo-client, fastjson-api。Version:
1.0.0,而不是0.0.1。线上应用依赖:
二方库的新增或升级:
dependency:resolve前后信息比对。如果仲裁结果完全不一致,那么通过dependency:tree命令,找出差异点,进行排除jar包。二方库的枚举类型:
统一版本变量:
springframework-core, -context, -beans都是同一个版本号,可以定义一个变量来保存版本${spring.version},定义依赖的时候,引用该版本。子项目依赖管理:
<dependencyManagement>语句块中,所有版本号仲裁放在<properties>语句块中。<dependencyManagement>里只是声明版本,并不实现引入,需要子项目显式的声明依赖,version和scope都读取自父pom。所有声明在主pom的<dependencyManagement>里的依赖都会自动导入,并默认被所有的子项目继承。二方库配置项:
provided引入,让二方库使用者去依赖具体的版本号。无log的具体实现,只依赖日志框架。服务器规约:
net.ipv4.tcp_fin_timeout = 30
服务器支持的最大文件句柄数(fd, File Descriptor):
JVM环境参数设置:
-XX: +HeapDumpOnOutOfMemoryError参数,使JVM遇到OOM场景时输出dump信息。OOM的发生是有概率的,甚至相隔数月才出现一例,出错时的堆内信息对解决问题非常有帮助。在线上生产环境,JVM的Xms和Xmx设置一样大小的内存容量,避免在GC后调整堆大小带来的压力。服务器重定向:
forward。以上就是看完这篇项目设计规约!你应该就能构建良好的工程结构了的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号