我知道“有一个单一的理由改变”。现在,究竟是什么?有没有一些气味/迹象可以告诉这个类没有单一的责任?或者真正的答案隐藏在YAGNI和只有重构单一的责任,第一次你的类改变?
单一责任原则
有很多明显的例子。 CoffeeAndSoupFactory。咖啡和汤在同一个设备可以导致相当令人讨厌的结果。在此示例中,设备可能会分解为热水器发电机和某种类型的搅拌器。然后可以从这些组件构建新的CoffeeFactory和SoupFactory,并且可以避免任何意外混合。
在更微妙的情况中,数据访问对象(DAO)和数据传输对象(DTO)之间的紧张是非常普遍的。 DAO与数据库通信,DTO是可序列化的,用于在进程和机器之间传输。通常,DAOs需要对数据库框架的引用,因此它们在富客户端上不可用,这些客户端既没有安装数据库驱动程序,也没有访问数据库的必要权限。
代码气味
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。