术语俗话 --- 约定大于配置
约定大于配置(Convention over Configuration,也叫"按约定编程")就是零配置或者少量配置是一种软件设计原则,核心思想是:通过预定义的默认约定来减少开发者需要显式声明的配置项。
核心含义
如果开发者遵循框架预设的约定(比如类的命名规则、文件的组织方式),就不需要写任何配置;只有当需求偏离默认约定时,才需要显式配置。
-
配置型:你需要告诉系统"怎么做"(where things are),系统本身一无所知
-
约定型:系统默认"你应该这么做",你只需在特殊情况下补充说明
典型例子
-
Ruby on Rails
-
模型类
Post自动映射到数据库表posts,你不需要写Post 对应 posts 表这样的配置 -
控制器
PostsController默认去app/views/posts/目录找模板
-
-
Spring Boot
-
配置文件放在
src/main/resources/application.yml会自动被加载,无需指定路径 -
spring-boot-starter-web自动装配 Spring MVC + Tomcat,零 XML 配置
-
-
Maven
-
源码默认放在
src/main/java,测试放在src/test/java,不配置也能工作
-
-
前端框架
-
Nuxt / Next.js 的
pages/目录里文件名直接决定路由,不需要手写路由表
-
好处与代价
好处:
-
减少样板代码和配置文件,开发更快
-
团队协作时有统一的目录结构和命名习惯,降低沟通成本
-
新人容易上手,"猜"就能猜对
代价:
-
需要学习并记住框架的"隐性约定",对新手有一定门槛
-
灵活度受限,违反约定或想定制时可能要费劲绕开默认值
一句话总结
约定大于配置不是"不要配置",而是让合理的默认约定替你完成 90% 的配置,你只需为那 10% 的特殊情况写配置。
免责声明
本文档所有内容仅供安全研究、学术交流与技术学习使用,严禁用于任何未经授权的逆向破解、网络攻击、隐私窃取、恶意软件开发及其他违反《中华人民共和国网络安全法》《数据安全法》等法律法规的行为,使用者应确保已获得目标软件权利人的合法授权并自行承担因使用本文档内容所产生的一切法律责任与后果,作者不对任何直接或间接损害承担任何责任,继续阅读即视为您已知悉并同意上述全部条款。
浙公网安备 33010602011771号