【发布时间】:2019-02-12 02:47:06
【问题描述】:
我有一个类,其成员变量为对象类型。该对象具有固定数量的字段。我正在尝试决定是否应该使用一个 setter 函数或多个来改变这些字段。
为了使问题更具体,我编写了以下类来以两种不同的方式对简单的组织管理结构进行建模:
-
多个设置器函数
class Management { constructor() { this.numberOfManagers = 100; this.salaryDetails = { regionalManagerSalary: 80000, stateManagerSalary: 110000, executiveManagerSalary: 200000 }; } setRegionalManagerSalary(salary) { this.salaryDetails.regionalManagerSalary = salary; } setStateManagerSalary(salary) { this.salaryDetails.stateManagerSalary = salary; } setExecutiveManagerSalary(salary) { this.salaryDetails.executiveManagerSalary = salary; } } const management = new Management(); management.setRegionalManagerSalary(100000); management.setStateManagerSalary(120000); management.setExecutiveManagerSalary(210000); -
一个设置器函数
class Management { constructor() { this.numberOfManagers = 100; this.salaryDetails = { regionalManagerSalary: 80000, stateManagerSalary: 110000, executiveManagerSalary: 200000 }; } setManagerSalary(typeOfManagerSalary, salary) { this.salaryDetails[typeOfManagerSalary] = salary; } } const management = new Management(); management.setManagerSalary('regionalManagerSalary', 100000); management.setManagerSalary('stateManagerSalary', 120000); management.setManagerSalary('executiveManagerSalary', 210000);
实施 1. 会更好还是实施 2. 更好?
【问题讨论】:
-
我认为 2 会更好。代码行少,可读性好
-
但是,如果您有需要检查或过滤要设置的值的要求,那么相同的代码示例 2 将变得复杂。
标签: javascript architecture readability maintainability