标签:
桥接模式是为了解决java单继承的局限性而诞生的,使用桥接模式可以很好的解决需要有多层级继承关系的实际问题。
桥接模式的要点:
处理多层次继承结构,处理多维度变化的场景。将各个结构设立成独立的抽象结构,使各个维度可以独立的拓展在抽象层建立联系。
package 桥接模式; public interface Brand { void sale(); } class senma implements Brand { @Override public void sale() { // TODO Auto-generated method stub System.out.println("森马服饰"); } } class Meters implements Brand { @Override public void sale() { // TODO Auto-generated method stub System.out.println("美邦服饰"); } } class PlayBoy implements Brand { @Override public void sale() { // TODO Auto-generated method stub System.out.println("花花公子服饰"); } }
package 桥接模式; public class Clothes { protected Brand brand; public Clothes(Brand brand){ this.brand=brand; } void sale() { brand.sale(); } } class T_shirt extends Clothes { public T_shirt(Brand brand) { super(brand); // TODO Auto-generated constructor stub } @Override public void sale() { // TODO Auto-generated method stub System.out.println("买T恤"); brand.sale(); } } class Pants extends Clothes { public Pants(Brand brand) { super(brand); // TODO Auto-generated constructor stub } @Override public void sale() { // TODO Auto-generated method stub System.out.println("买裤子"); brand.sale(); } } class Hat extends Clothes { public Hat(Brand brand) { super(brand); // TODO Auto-generated constructor stub } @Override public void sale() { // TODO Auto-generated method stub System.out.println("买帽子"); brand.sale(); } }
package 桥接模式; public class Client { public static void main(String[] args) { // TODO Auto-generated method stub Clothes c=new Pants(new senma()); c.sale(); } }
应用场景:
JDBC驱动程序
AWT中的Peer结构
银行日志管理:
格式日志:操作日志,交易日志,异常日志
距离日志:本地记录日志,异地记录日志
人力资源系统中的奖金计算模块:
奖金分类:个人奖金,团体奖金,激励奖金
部门分类:人事部门,销售部门,奖金部门
OA系统中的消息处理:
业务类型:普通消息,加急消息,特急消息
发送消息的方式:系统内消息,手机短信,邮件
标签:
原文地址:http://www.cnblogs.com/ouwenkgwpf/p/4572742.html