Java 实体类是否可以在OOAD中返回其他实体实例?
我有两门课:Java 实体类是否可以在OOAD中返回其他实体实例?,java,oop,ooad,Java,Oop,Ooad,我有两门课: public class Car { private int id; private String name; private String vendor; /* ... */ } public class Garage { private int id; private String name; private String address; /* get-set and others stuffs */
public class Car
{
private int id;
private String name;
private String vendor;
/* ... */
}
public class Garage
{
private int id;
private String name;
private String address;
/* get-set and others stuffs */
public boolean addCar(Car c) {
/*
This will insert a car to tblCars
but belong to this garage
*/
}
public List<Car> getListCar {
/*
This will perform a SELECT query on tblCars
to choose cars belong to this Garage
*/
}
}
OOAD中允许吗?允许吗?你认为会发生什么-一个OOAD警察把你拉到一边,给你开罚单 你可以做任何你想做的事。事后你会发现它是否被误导了 你的设计看起来可以接受,只是车库没有收藏 这是汽车和车库之间的一对多关系。通常就是这样做的 我认为Smalltalk MVC的想法有点过时了。以下是我如何看待web应用程序的层:
view-->controller-->service--+-->persistence
|
+--> model
控制器和视图紧密耦合在一起
服务是了解DAO和模型对象的东西。它们满足用例和自己的工作单元。这一切都取决于您的需求。如果要求您在每次汽车进入车库时保存汽车,请使用代理处理DB insert:
public boolean addCar(Car c) {
Delegate.getInstance().addCarToGarage(this, c);
}
public List<Car> getListCar {
Delegate.getInstance().getAllCars();
}
否则就让它保持原样
public boolean addCar(Car c) {
myCarList.add(c);
}
public List<Car> getListCar {
return myCarList();
}
谢谢,我的意思是,例如,在三层设计模式中,表示层不应该直接调用数据访问层,而是通过控制层,所以,这些规则是否禁止一个实体调用/访问/返回其他实体?视图在MVC中不应该引用控制器。箭头应该从控制器指向视图。它用于显示信息流,而不是依赖关系