使用组合时,如果对象不属于接口类型,则应显式抛出异常。
一个例子是:
$myObject = new MyConcreteTypeA();
现在,我的界面是MyInterface.
那么,我是否应该检查$myObject 的类型以确保它MyInterface在使用之前实现,如果没有则抛出错误?
IE
if (! ($myObject instanceof MyInterface)) {
throw new Exception('Invalid type');
}
或者这只是粗鲁?