Consistent interface
"consistent interface"这个词是我在阅读 accu An introduction to C++ Traits 时,其中提出的。在software engineering的很多情况下,我们都需要约定 interface,下面对此进行一个总结:
Subtyping polymorphism
OOP subtyping能够实现consistent interface。
Program to an abstraction
参见 "Program-to-an-abstraction" 章节。
Generic programming-behavior based
需要约定好interface
Magic function
Magic function其实就是约定好的interface。
Java interface
Design by contact
Compiler
consistent interface是compiler进行dispatch的前提条件,否则compiler无法进行dispatch。
C++ trait is a consistent interface
trait 是一种interface/abstraction,关于此参见: C++\Idiom\Templates-and-generic-programming\SFINAE-trait-enable-if\Trait