我通过许多有关OOP原则的教程和博客。 正如我理解松散耦合和编写可测试类,我有一点犹豫。
假设我有一个湖级课程。 湖类有依赖注入天气和位置(策略模式等),但它创建了返回的类,让我们说鱼。
因此函数catch()返回Fish类。
是否紧密耦合,导致鱼类有一个构造函数,也需要“单元测试”?
答案 0 :(得分:3)
如果你直接在类中实例化Fish对象
新鱼();
然后两个班级之间存在紧密联系。如果Fish不仅仅是一个简单的数据传输对象(一个只携带数据且几乎没有逻辑的对象),那么我就避免这种紧密耦合。
有几种方法可以解决这个问题,例如:
但是,如果Fish只是一个简单的DTO,那么在复杂性,可读性和性能方面是否值得付出是值得怀疑的。
希望这有帮助。