问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Bridge的模式

发布网友 发布时间:2022-06-19 21:51

我来回答

1个回答

热心网友 时间:2024-11-12 02:34

1.抽象层:对实现层的上层处理或者上层调用。
2.实现层:对抽象层的处理或者调用,施以回应。具体实现抽象层的各种方法。
3.脱耦
实际上,Bridge就是通过抽象层与实现层的分离,来实现脱耦的目的的。 public abstract class Report
{
Reporter reporter;
public Report(Reporter reporter) {
this.reporter = reporter;
}
//抽象类使用桥接对象的方法来实现一个任务
public void addReportItem(Object item){
reporter.addLine(item.toString());
}
public void addReportItems(List items){
Iterator iterator = items.iterator();
while ( iterator.hasNext() )
{
reporter.addLine(iterator.next().toString());
}
}
public String report(){
return reporter.getReport();
}
}
public class StockListReport extends Report{
ArrayList stock=new ArrayList();
public StockListReport(Reporter reporter){
super(reporter);
}
public void addStockItem(StockItem stockItem){
stock.add(stockItem);
addReportItem(stockItem);
}
}
//实现层次的抽象父类定义原子方法,供抽象层次的类调用
public abstract class Reporter{
String header = ;
String trailer = ;
String report = ;
public abstract void addLine(String line);
public void setHeader(String header){
this.header = header;
}
public void setTrailer(String trailer){
this.trailer = trailer;
}
public String getReport(){
return header+report+trailer;
}
}
public class HTMLReporter extends Reporter{
public HTMLReporter(){
setHeader(\n\n\n);
setTrailer(\n);
}
public void addLine(String line){
report += line +
\n;
}
}
public class ASCIIReporter extends Reporter{
public void addLine(String line) {
report += line + \n;
}
} 1.如果一个系统需要在构件的抽象层和实现层之间增加更多的灵活性,避免在两个层次之间建立静态的联系。
2.设计要求实现层的任何改变不应当影响客户端,或者说实现层的改变对客户端是完全透明的。
3.一个构件有多于一个的抽象层实例和实现层实例,系统需要它们之间进行动态耦合。
4.虽然在系统中使用继承是没有问题的,但是由于抽象层和实现层需要独立变化,设计要求需要独立管理这两者。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 名师1+1导读方案:汤姆·索亚历险记目录 三星sm-g7200打开微信慢,无法正常收看,网速不慢。 笔记本电脑如何调亮屏幕亮度 大伙说说洗衣机要不要带烘干好 热烘干洗衣机怎么样 ef英语哪个好 炉石传说上古之神的低语第一包送橙是要购买预售的么 补全单词中缺的单词,并写出汉语意思、还有一些英语题。每空一词!跪求... 玫瑰精油销路怎样?设备投入多大? 炉石传说新卡包预售什么时候结束 最近怎么老是流鼻血呢,是什么情况? 字体是按照语文书上的字体还是字典上的字体 手机的新华字典字体怎么变成大号? 请问新华字典上的正文是什么字体? 启龙认证考前辅导资料(CCAA)骗人 AOA怦然心动的mv中,那个留金色短发的女生是谁? 激光无线鼠标键盘套都是一会能用一会不能用? 我想学街头足球,视频上的太快,谁有什么方法吗? N72手机玩街头足球为什么不能射门 街头足球在哪里可以下客户端 多少时整,时针和分针成一条直线 怎么打出女字旁?请问谁能打出来帮我打出来好么?是单单的一个女字旁不... 求经典的MD(世嘉,也就是)游戏 福泉市牛场镇是东南西北哪个方向?福泉市牛场镇四,东南西北哪个... 祁县的行政区划 户籍在连江乡下,房子买在连江可以在连江小学读吗 line 在这里的意思 _mploy_e缺英语 overtake reporter 阳光保险有限公司于其他保险公司相比的优缺点 有谁知道湖南的腊鸭怎么吃? 达瓦鱼竿怎么用 外地人上昆山汽车牌照,有知道的吗? 水里有弓箭三只飞虫打一成语疯狂 92年的人是不是属猴的 工作得太累,精力付出太多,现在几天都感到走步路都累,没力气,怎么办... 如果工作得真不开心要辞职吗 我现在的工资很高,可我工作得并不快乐,我该辞职吗? 醒图,如何将底面的麦子照片加深 求经典的MD(世嘉,也就是)游戏 华硕笔记本怎么找不到U盘 长阳十碗八扣的土家蒸豆腐怎么做 我有肉还有酒,等你的故事,下一句怎么写? 86年老虎女,实在受够了自己近15年的堕落生活,跪求大师给我指点迷津... 1986年12月8日(阳历)下午3;15出生 山东大学国际教育学院师资力量怎么样?