2011-01-24 46 views

回答

3

所以,我在这里是新的,并提出这个警告,我正在提出我的答案。

在我看来,目前为止人们只能采用像“单一责任原则”这样的概念。对我而言,变换类的单一职责是管理从一种格式规范到另一种格式规范的数据转换。一些想法:

  1. 在严格的条款,如果该格式的变化之一,你理论上仍然需要格式转换器的先前版本的转换原有DAT(向后兼容)。你永远不知道什么时候有人可能不会收到关于格式变化的备忘录。或者你可能遇到地下室某处某种格式的A v1格式的数据。因此,班级的单一责任仍然是将数据从格式A1.0转换为格式b1.0。

  2. 如果其中一个规格改变了,您现在必须创建一个新的VERSION类,对吧?假设某人修改了格式A的规范。现在您需要一个类来管理从格式A1.1到B1.0的数据转换。您已经创建了一个负责一个新课程。

虽然在项目的范围,你可以不考虑需要向后兼容性的要求,在SRP概念而言,我的理解是,在一个或两个的格式规范的变化要求定义一个新的阶级,而不是从流行病学理论的最严格的角度来看,暗示着不止一项责任。最后,如果您将数据从一种格式映射到另一种格式作为该类的单一责任,那么对于其规范的改变仍然只需要改变该类的单个作业。

举例说明的最后一个例子。假设我班的责任是将特定的红色变成特定的粉红色。然后有一天,首席设计师决定他想要一个更亮的粉红色作为输出,我的规格的一面已经改变,但我班的责任却没有。第二天,在最高企业层面决定,新的红色标准更像栗色。现在我的输入规范已经发生了变化,但我的班级的职责却没有。我可能会决定创建一个新类,并保留版本1.0的持久性,或者我可能只更新现有版本。在任何一种情况下,班级仍然有单一的责任;将红色规格映射到粉红色规格。