我对接口编程相当陌生,并试图将其作为开发测试驱动的主要工具。
目前我们有很多管理器类都实现了一个CRUD
接口。然而,有些经理还没有进行更新,有些没有删除,有些可能永远不会这样做。
未实现异常?
可以吗,只是
throw new NotImplementedException()
直到该方法被实施,或者如果它从未实施,甚至一直如此?
(很明显,源代码注释告诉程序员“不应该使用这种方法,例如‘男性’‘女性’这样的类型永远不会被删除)?
分裂?
还是应该将我的 CRUD 界面拆分为可创建、可读取(可搜索)、可更新和可删除?这不会弄乱我的班级定义吗?
PersonManager implements Creatable<Person>, Updateable<Person>, Deletable<Person>, Searchable<Person>
拆分和合并?
或者我应该将所有 4 之类的一些接口组合到 CRUD 中,也许还有一些其他组合,例如读取 + 更新?
也许这也会创建大量接口,其中一个必须单击一个大的继承路径以找出哪个接口实现了当前情况下所有所需的原子接口(我需要读取和创建,那么哪一个只实现了这两个?这会很快变得复杂得多)