h5页面怎么生成链接,河南网站seo推广,大连凯杰建设有限公司网站,做网站图标桥接模式简单来说就是通过将抽象部分和具体部分分离#xff0c;使它们可以独立地变化。如果你的一个类存在多个变化维度#xff08;如抽象和具体的实现#xff09;。若使用继承来处理这些变化#xff0c;将会导致类层次结构的急剧增加#xff0c;难以管理和维护。并且使它们可以独立地变化。如果你的一个类存在多个变化维度如抽象和具体的实现。若使用继承来处理这些变化将会导致类层次结构的急剧增加难以管理和维护。并且继承会将抽象部分和具体部分紧密耦合不利于独立地进行扩展和变化。此时不妨考虑使用桥连模式。
假定一个不同的级别信息发送方式的例子
/*** 抽象消息*/
public interface IMessage {void send(String message,String addressee);
}/*** 抽象消息类*/
public abstract class AbstractMessage {protected IMessage iMessage;public AbstractMessage(IMessage iMessage) {this.iMessage iMessage;}public void sendMessage(String message, String addressee) {iMessage.send(message, addressee);}
}/*** 短信消息*/
public class SmsMessage implements IMessage{Overridepublic void send(String message, String addressee) {System.out.println(公司专用短息 - message 收件人 - addressee);}
}/*** 邮件消息*/
public class EmailMessage implements IMessage {Overridepublic void send(String message, String addressee) {System.out.println(企业邮箱发送邮件 - message 收件人 - addressee);}
}/*** 普通消息*/
public class NormalMessage extends AbstractMessage{public NormalMessage(IMessage iMessage) {super(iMessage);}Overridepublic void sendMessage(String message, String addressee) {//普通消息直接调用父类方法super.sendMessage(message, addressee);}
}/*** 紧急消息*/
public class UrgentMessage extends AbstractMessage {public UrgentMessage(IMessage iMessage) {super(iMessage);}Overridepublic void sendMessage(String message, String addressee) {message 紧急通知 : message;super.sendMessage(message, addressee);//模拟特殊处理...}
}编写测试用例 /*** 桥连器模式-消息桥连测试*/Testpublic void testMessageBridge() {IMessage message new SmsMessage();AbstractMessage abstractMessage new NormalMessage(message);abstractMessage.sendMessage(放假通知即日起连休三天!, 全体员工);message new EmailMessage();abstractMessage new UrgentMessage(message);abstractMessage.sendMessage(出现生产问题请尽快处理!, 王经理);}