用于创建新用户的对象设计
Object design for create new user
我这周遇到了一个问题,所以我决定使用一种我不确定是否正确的方法。所以我需要你的帮助来帮助我理解我可能做错了什么。
我有两种类型的用户:内部用户和外包用户,他们的某些属性与另一种不同。我想做的是。
所以我创建了一个员工 class,它聚合了所有公共属性
public abstract class Employee {
private String name;
private String address;
private String telephone;
private String cpf;
private Integer age;
外包 class 还有 2 个属性
public class Outsourced extends Employee {
private String companyName;
private Date endDate;}
还有内部用户的 Internal。
public class Internal extends Employee {}
使用这个内部 class 是正确的还是我应该使用员工作为内部?有一个没有属性的 class 对我来说似乎是错误的,但同时我认为将员工 class 用于内部用户是通用的,如果有一天我们创建一种新的用户我们我有一些问题。
无论如何感谢您的帮助:)
完全正确。
首先,您可能希望稍后向 Internal
追加一些特殊的逻辑或字段。 staffNumber
例如.. 一个单独的 class 的存在太容易了。
其次,有时您可能希望在代码中将 Internal
与 Outsourced
实例分开。
我觉得还不错。使用这种方法,如果有一天您需要向所有类型的员工添加一些常见的 属性(通过将其添加到 Employee
),或者添加一些新的 属性 到 Outsourced
或 Internal
或者甚至创建一个新的 Employee 类型(通过扩展抽象 Employee
)。我会说你很高兴继续实施。
我这周遇到了一个问题,所以我决定使用一种我不确定是否正确的方法。所以我需要你的帮助来帮助我理解我可能做错了什么。
我有两种类型的用户:内部用户和外包用户,他们的某些属性与另一种不同。我想做的是。
所以我创建了一个员工 class,它聚合了所有公共属性
public abstract class Employee {
private String name;
private String address;
private String telephone;
private String cpf;
private Integer age;
外包 class 还有 2 个属性
public class Outsourced extends Employee {
private String companyName;
private Date endDate;}
还有内部用户的 Internal。
public class Internal extends Employee {}
使用这个内部 class 是正确的还是我应该使用员工作为内部?有一个没有属性的 class 对我来说似乎是错误的,但同时我认为将员工 class 用于内部用户是通用的,如果有一天我们创建一种新的用户我们我有一些问题。
无论如何感谢您的帮助:)
完全正确。
首先,您可能希望稍后向 Internal
追加一些特殊的逻辑或字段。 staffNumber
例如.. 一个单独的 class 的存在太容易了。
其次,有时您可能希望在代码中将 Internal
与 Outsourced
实例分开。
我觉得还不错。使用这种方法,如果有一天您需要向所有类型的员工添加一些常见的 属性(通过将其添加到 Employee
),或者添加一些新的 属性 到 Outsourced
或 Internal
或者甚至创建一个新的 Employee 类型(通过扩展抽象 Employee
)。我会说你很高兴继续实施。