我对我的代码结构以及如何保持类简单有疑问。我正在努力简化C#项目的服务层。大部分代码没有考虑OOP实践,并且很少有类超过200行的类。我已经开始提取较小的方法,但对如何执行此操作有快速查询。
作为示例,我有一个方法可以检索特定于客户的文件目录,然后检查它们是否存在,如果不存在则创建它们,最后返回带有这些目录列表的对象。我想坚持不使用私有方法并提取到新类的原则,虽然传统我会创建私有方法来检查目录是否存在,另一个用于创建它们,第三个用于检索文件夹名称并返回对象和使用单个方法的关联接口按顺序调用所有这些的公共方法。
我应该为每个私有方法创建新类,如果是这样,它们都需要一个接口吗?或者让他们全部公开并从别处打电话给他们?
提前致谢!
答案 0 :(得分:1)
简短的回答:你不应该做那些事情。
如果您想从面向对象的角度处理问题,请暂时忘记方法正在做什么。想想代码的代码。您只提到了#34;客户"作为一个可能的"业务"相关的事情。尝试提出其他与业务相关的事情。那些文件是什么?报告? ActivityLogs?消息? CreditReports :)?
关键是,面向对象不仅仅是在不同的类中使用方法。类和方法必须具有一些商业含义。如果他们没有任何意义,那么就没有真正的理由让他们在第一时间拥有它们!
由此可见,#34; StorageManager"," StorageUtil"以及类似的东西不应该存在,因为它没有任何商业意义一点都不。
首先找出应用程序的内容(事情),然后你可以将某些职责转移到适当的事情上。