如何为 Struts MVC 创建此模型?

问题描述 投票:0回答:2

我有一个大学管理门户。我必须创建以下类来描述模型。

class Address
{
    String street;
    String city;
    
}

class Contact
{
   String phone;
   String mobile;
}

abstract class Person
{
   String name;
   String age;
   Address address;
   Contact contact;
}

class Student extends Person
{
   String course;
   String stream;
   String rollno;
}

class Faculty extends Person 
{
   String department;
   String faculty id;
}

现在我应该使用 getter-setter 方法来进行实例初始化还是构造函数?

Person 类中的聚合怎么样?

构造函数应该如何在那里工作?

java model-view-controller model
2个回答
0
投票

是的,我认为你应该为模型对象提供 getter 和 setter 方法。您的类的属性应该设为私有。 构造函数用于允许为对象构造传递强制信息,没有这些信息就无法构建对象(或者对象是无用的)。就像你无法创造一个没有名字和年龄的人一样。根据您的情况,地址和联系方式可以是可选的。因此您可以使用 mutator 方法设置地址/联系信息。

正如 Srinivas 提到的,构造函数并不是 mutator 方法的替代品。 构造函数的目的是为对象构造提供强制性的东西。就像没有原材料就无法建造建筑物一样。


0
投票

对于这些东西,你需要“beans”=私有成员变量,每个变量都有 getter 和 setter。根据您的需要,您可以创建一个构造函数,该构造函数在实例化时在对象中设置某些参数,但也可以不直接通过设置器设置(因为某些设置器可能以某种方式对设置值进行操作,因此最好不要直接搞乱这样的东西。student =“name”)。

对于教员案例,我不明白为什么它会扩展 Person,而且我认为它不应该扩展。正如您所说,这些模型应该反映数据库中表的结构,因此它们至多都会扩展一个抽象类或实现某个接口,但彼此之间不会扩展。

对于人员聚合,我也认为联系人和地址应该是整数,因为它们代表另一个表中的外键,并考虑多对多关系的情况。

模型首先是应用程序中数据库的反映。

© www.soinside.com 2019 - 2024. All rights reserved.