Interface
我们一直都在接触“接口”这个词语,在之前的描述中,我把“接口”定义为:对抽象的描述。有必要看看,它总结地比较好。
Guide
1、wikipedia Interface (computing)
2、文章the interface principle
阅读完这篇文章,我的一个感受是: 一致性接口的价值。
这是Herb Sutter的文章What's In a Class? - The Interface Principle中提出的一个观点,虽然它描述的是C++世界,但是我觉得它对interface的阐释是比较好的,这篇文章收录在了gotw-What's-In-a-Class-The-Interface-Principle
章节。
不同level的interface
从level角度来分析interface:
level | |
---|---|
Hardware interfaces | |
Software interfaces | 1、Application programming interface aka API 2、Application binary interface aka ABI |
在Software-design\Design-pattern\Architecture-pattern\Multilayered-architecture
的以层次思想来思考节会对两者进行区分。
Compatibility
"Compatibility"即"兼容性",在 ./Compatibility
章节进行了描述。
Interface-is-contract
本节标题的含义是: interface是协议、契约。
Explicit 和 implicit interface
于此相关的内容有:
1、Java\Guide\Generic-programming
其中讨论了C++ VS Java generic programming,其实是比较C++ template和Java interface:
a、C++ template: implicit interface
b、Java interface: explicit interface
2、Theory\Programming-paradigm\Object-oriented-programming\Subtyping-polymorphism\Subtyping-VS-inheritance
其中也对这个topic进行了讨论。
与interface相关得到词语
下面几个词在OOP中是经常出现的,我觉得它们的有着相似的内涵,且它们都与behavior、interface有关:
简介 | 链接 | |
---|---|---|
protocol | 约定好protocol,其实就是约定好interface | Protocol (object-oriented programming) |
contract | design by contract,其实很大一部分内容是约定好protocol | wikipedia Design by contract |
Interface是对abstraction、behavior的描述/实现
1、"Interface is a description of behavior"
参见 Theory\Programming-paradigm\Common\Behavior-based-and-interface
章节
2、Interface is a description of abstraction
关于interface is a description of abstraction的一些素材:
a、wikipedia Kernel_(operating_system) 中有这样的描述:
The kernel's interface is a low-level abstraction layer. When a process requests a service to the kernel, it must invoke a system call
b、Abstraction and architecture,参见工程software-engineering的Software-design\Principle\Abstraction
章节
"program to interface" principle
参见:
1、Theory\Programming-paradigm\Object-oriented-programming\Design-pattern\Principle
2、Theory\Programming-paradigm\Common\Abstraction-and-polymorphism\Program-to-an-abstraction
Uniform/consistent interface
这在 Consistent-interface
中进行了描述。