我努力按照SOLID原则进行设计。我发现,当你使用“单一责任原则”(SOLID的S)时,你通常必须在数据容器和数据处理器之间拆分类。例如,如果我有一个具有5个从DB读取的属性的类人员,而不是将所有内容都放入类中,则创建一个具有属性的Person类和另一个从数据库读取该信息并创建Person的PersonReader类。使用“单一职责原则”迫使我的容器有公共设置器
如果我这样做,我必须打开Person属性,以便PersonReader可以访问它们,但是比起将所有内容放在黑盒子中并使属性只能读取,我的封装更少。
我错过了什么或者这是这个原则的缺点吗?
在此先感谢
编辑:我已经改变了人的作家一个人的读者,因为没有必要让属性setter开头公众。
为什么你有一个PersonWriter需要你的Person安装人员公开? – Marcie 2010-12-10 19:07:30
@Marcie:谢谢,这是我的错。我编辑了这个问题。 – 2010-12-10 19:13:05