我正在努力按照 SOLID 原则进行设计。我发现,当您使用“单一责任原则”(SOLID 的 S)时,您通常必须在数据容器和数据处理器之间拆分类。例如,如果我有一个从 DB 读取的具有 5 个属性的类 person,而不是将所有内容都放在一个类中,我将创建一个带有属性的 Person 类和另一个从数据库读取该信息并创建 Person 的 PersonReader 类。
如果我这样做,我必须打开 Person 属性,以便 PersonReader 可以访问它们,但是与将所有内容放在黑盒中并使属性仅可读相比,我的封装更少。
我是否遗漏了什么,或者这是这个原则的一个缺点?
提前致谢
编辑:我已将人员编写器更改为人员阅读器,因为一开始不需要公开属性设置器。