概念
约定优于配置(Convention over Configuration),又称按约定编程,是一种软件设计范式。
本质上是说,系统、类库或框架应该假定合理的默认值,而非要求提供不必要的配置。比如说模型中有一个名为User的类,那么数据库中对应的表就会默认命名为user。只有在偏离这一个约定的时候,例如想要将该表命名为loser,才需要写有关这个名字的配置。
简单来说,如果你所用工具的约定和你的期待相符,就可以省去配置;不符合的话,你就要通过相关的配置来达到你所期待的方式。
思考
约定优于配置简单来理解,就是遵循约定。
想象一下,在软件的世界里如果每个程序员都定义一套自己的规范,这样的话,当你要看他写的程序就要先学习他的规范,看一个程序员的代码就要学习一套规范,是不是想想都头疼?举个现实的例子,浏览器。各个版本的浏览器的兼容性问题让众多程序员焦头烂额。想到这,你有没有觉得其实Java的成功、XML的成功或Maven的成功都有其必然性,它们的设计里面中都包含了一个简单但很深刻的道理,那就是通用。通用是标准和接口的所有意义。
为什么通用?因为它们都遵循了同一套约定。这样,当一个程序员要看另一个程序员写的程序的时候,就会很容易上手,因为他了解同一套规定,减少了重新学习的成本。