java – Facade模式 – 返回原始对象或修改后的原始对象
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – Facade模式 – 返回原始对象或修改后的原始对象,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1554字,纯文字阅读大概需要3分钟。
内容图文
![java – Facade模式 – 返回原始对象或修改后的原始对象](/upload/InfoBanner/zyjiaocheng/724/610cca5817734ab9a281251fcd249e39.jpg)
我有例如像这样的对象:
Original obj = new Original();
我从这个对象中使用,例如方法(这个对象有很多方法和领域):
obj.getMeYourName();
我希望有类似的对象几乎相同,但有些方法返回其他东西.我想通过外观来解决它.
所以,起初我想创建外观并决定是否返回直接对象或修改.
什么是最好的方法?
这样的事情:?
Original obj = new Original();
OriginalFacade obj = new OriginalFacade(Original obj, boolean getDirectObject);
OriginalFacade(Original obj, boolean getDirectObject) {
if (getDirectObject) {
return obj //How to convert object into OriginalFacade type?
} else {
obj.setMeYourName("Something else");
return obj; //Howto convert object into OriginalFacade type?
}
}
所以,我有两个问题:
1,通过例如构造函数选择原始对象或修改过的原始对象是不错的解决方案. boolean getDirectObject?
2,如何轻松返回必须映射到OriginalFacade对象的原始对象
我必须实现原始对象的所有方法吗?
解决方法:
实际上,Facade模式使用客户端使用的通用接口.
例如:
public interface Facade {
public String getMeYourName();
public void someOtherMethod();
}
public class Original implements Facade {
private String name;
Original(String name) {
this.name = name;
}
public String getMeYourName() {
return name;
}
public void someOtherMethod() {
// a lot of great code
}
}
public class Modified implements Facade {
private Facade original;
private String otherName;
Modified(Facade original, String otherName) {
this.original = original;
this.otherName = otherName;
}
public String getMeYourName() {
return otherName;
}
public void someOtherMethod() {
original.someOtherMethod();
}
}
客户端应该只需要查看Facade接口,而不需要关心它们正在处理的实际实现.
内容总结
以上是互联网集市为您收集整理的java – Facade模式 – 返回原始对象或修改后的原始对象全部内容,希望文章能够帮你解决java – Facade模式 – 返回原始对象或修改后的原始对象所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。