如何解决实体类的正确设计需要建议
是的,使您的基本实体成为抽象类,然后让其他人对其进行扩展。
public abstract class BaseEntity
{
private long id;
public long getId() {return this.id};
public void setId(long id) {this.id = id;};
}
通常,应该始终对接口进行编程,而不是对实现进行编程。
解决方法
例如,我有实体类User
:
public class User
{
private long id;
private String name;
// setters and getters
}
接下来,我添加新的实体类: Comment
public class Comment
{
private long id;
private String comment;
// setters and getters
}
接下来,我可以添加越来越多的实体类。
而且,此刻我想:我可以/必须以逻辑结构绑定/连接我的实体类,还是没有?
我的意思是说?我尝试解释一下:
要点1:所有这些类:User
,Comment
以及其他- POJO
。
想法1:需要通过接口或抽象类对此类进行逻辑绑定。
第2点:我看到,所有实体类都有相同的方法:getId
和setId()
。
想法2:需要避免在所有类中声明此方法。
我的解决方案:
添加界面BaseEntity
:
public interface BaseEntity
{
public long getId();
public void setId(long id);
}
添加所有实体类必须实现此接口。
结果,我们逻辑上连接了所有实体类。并且我们保证每个实体类的实现getId()
和setId()
方法。
但是此解决方案无法解决带有多个声明getId
和的问题setId
。
一种解决方案是创建常规BaseEntity类:
public class BaseEntity
{
private long id;
public long getId() {return this.id};
public void setId(long id) {this.id = id;};
}
并且所有实体类都必须扩展BaseEntity类。
嗯,听起来不错:)
但是,使用当前的实现-用户可以创建即时的BaseEntityClass。 这有意义吗? 我可以创建一个类BaseEntity吗?
也许,好的解决方案将此类标记为abstract
?你怎么看?
如果您同意我之前的所有步骤:
我还有最后一个问题:
类之间的通信必须基于接口。但是我没有实体的接口。将来会为我制造问题吗?
谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。