道生法,法生德。
用西方的科学(软件工程)解释:
道如同对象(object)的属性、方法,是客观规律;
法如同面向对象(OOP,object oriented programming),是对对象事物的实体以及其属性、方法进行抽象、封装成类(class),简单的说就是对各类事物属性制定的标准;
德如同面向切面(AOP,aspect oriented programming),是对不同类中分离出的通用的功能需求,简单的说就是对不同类事物行为的评判。
举个例子,法要求的是文士运筹治国、武士阵前杀敌,农人多重粮食、工人努力做工。无论士农工商立功纳粮纳税,多为国家做贡献都是爱国,这就是德。
在软件工程中,AOP永远无法代替OOP,核心需求永远是OOP来实现,而AOP的作用只是对OOP进行整合。AOP与OOP不但不是互相竞争的技术而且彼此还是很好的互补。这恰恰应了荀子的思想——以法治国,以德育人。