面向对象的编程语言,除了提出OOP之外,还开了一个不好的先河:可以在使用的时候才定义。而不是像C语言,必须先定义、后使用。这扩大了语言的自由度,编码的难度相应降低。
但这种做法带来一个不好的影响,这等于把定义和使用混在一起。定义和使用混在一起的坏处,是你根本不知道你修改了某定义,影响范围是多大。因为这种定义的用法是混乱的,无序的。
换句话说,如果要复用,必须完成定义和使用分离。通过不同的定义,可以完成不同的具体功能实现,同时完成一个抽象逻辑功能的复用;同一个定义在多处环境的不同使用,也实现了具体实现的复用。
spring最显著的特点之一,就是Ioc,控制反转。通过spring bean来完成功能的定义,对这些bean的使用,则在具体的servlet及其所调用的java里。这就是定义与使用分离最显著的例子。
如果你的定义是区分多个层次的,那么,你的复用也是可以区别多个层次的,同时概念的适合范围也是可以多层次。这样,同一个概念(即定义中的ID),在不同的范围,所起的作用是不一样的,就更灵活了。
这里有一些更具体的阐述和例子,有时间再展开讲讲。
定义与实现分离
最新推荐文章于 2023-12-19 09:49:39 发布