POCO 类 和稳定抽象原则
POCO classes and Stable Abstraction Principle
计算抽象指数时,定义为A = Na / Nb
where (Na
is the number of interfaces and abstract 类 where Nb
是具体的个数类),POCO类应该怎么考虑?
这个 类 没有实现任何逻辑,它们只是数据的容器。
风险在于具有大量 POCO 的库在抽象方面的评级会很低 类 但不会实现任何逻辑。
即使对象不包含任何逻辑,它也可以非常具体。事实上,如果您考虑为具体用例传输数据的数据传输对象(例如,从网站的联系页面发送的 ContactFormRequest)或包含数据源数据的 DTO(例如,表示数据库的 CustomerAddress table 行),这些对象在业务规则和预期用途方面非常具体。需求变更很容易影响此类对象。
在上面的公式中,这些对象应该算作 Nb。
计算抽象指数时,定义为A = Na / Nb
where (Na
is the number of interfaces and abstract 类 where Nb
是具体的个数类),POCO类应该怎么考虑?
这个 类 没有实现任何逻辑,它们只是数据的容器。
风险在于具有大量 POCO 的库在抽象方面的评级会很低 类 但不会实现任何逻辑。
即使对象不包含任何逻辑,它也可以非常具体。事实上,如果您考虑为具体用例传输数据的数据传输对象(例如,从网站的联系页面发送的 ContactFormRequest)或包含数据源数据的 DTO(例如,表示数据库的 CustomerAddress table 行),这些对象在业务规则和预期用途方面非常具体。需求变更很容易影响此类对象。
在上面的公式中,这些对象应该算作 Nb。