当您创建界面时,您是否根据行为创建界面,并遵循可用的标准,例如,为对象创建接口还是为动作/行为创建接口?
interface Comparable
interface Enumerable
interface Listable
interface Talkable
interface Thinkable
或基于对象,例如
interface Comparator
interface Enumerator
interface List
interface Human
为什么?
UPDATE
这个问题不是关于命名约定(-able后缀或前缀I-)。这是一个关于接口的设计意图,它的影响,在以下方面: -
- 灵活性
- 复杂性/简单
- 可维护性
例如,如果我需要为了实现不同的功能,通过可执行的方式,我可以宣布我的课程为
public class Man implements Talkable, Thinkable, Laughable
public class Woman implements Talkable, Thinkable, Laughable
另一方反之,如果我们创建一个基于对象的接口,我们可以把它作为
public class Man implements Human
public class Woman implements Human
而且我们还可以用它来多态性目的。
Human man = new Man();
这方面的标准主要是针对特定语言的,有时对组织中的程序员和标准是主观的。 – 2009-09-05 02:44:16