0
如果我有(这种情况下apply
)实现特定接口下面的红宝石模块这是使用多态性误导,因此设计不好吗?
module FooApplier
def apply
foo
end
end
...和所有其他的“施”的类,而不是模块,是误导其他工程师通过FooApplier
接收器预计apply
接口?
我们假设使用FooApplier
的应用程序运行得很好,但我们还假设其他一些工程师没有花时间翻阅我代码的每个最后一个字节。如果他们决定发送类似.new
的文件到FooApplier
,这会导致一些微妙的错误,是我的设计上的责任,还是工程师做出假设并忽略我的代码?