标签: oop
我正在设计一个公开的方法的.Net库,所有这些方法都只能被标记为辅助方法。接受PersonID,RoleID等返回计算的工资,全年的工资,奖金等。
使用选项2,实现类只有行为而不是数据,在尝试签订合同时,我创建了一个不需要的纯粹制作?
答案 0 :(得分:2)
如果您提供一个接口(或多个接口,按照ISP),您的客户可以为您的库的部分提供自己的实现,并在需要时轻松切换它(例如用于测试目的)。
它还允许客户端编程到接口并在其程序中跟随LSP,使实现与其应用程序分离。
为了这种灵活性,我会使用接口。
使用静态库,无法将其切换出来并引入直接依赖关系(针对LSP)。