当前位置: 首页 > news >正文 优秀的手机网站案例分析小程序代码大全 news 2025/10/30 5:58:55 优秀的手机网站案例分析,小程序代码大全,网站开发需要懂哪些,?]后台的网站可以备案吗引言 在开发过程中#xff0c;可能会遇到系统设计有多种维度变化的情况#xff0c;比如我们想画一幅五彩斑斓的画#xff0c;需要用到12个颜色#xff0c;但是需要粗细不同的线条#xff08;粗、中、细#xff09;#xff0c;如果用蜡笔#xff0c;就需要粗中细三种蜡笔…引言 在开发过程中可能会遇到系统设计有多种维度变化的情况比如我们想画一幅五彩斑斓的画需要用到12个颜色但是需要粗细不同的线条粗、中、细如果用蜡笔就需要粗中细三种蜡笔每种蜡笔共12个颜色一共12*336个对象。但是如果用毛笔就只需要3根毛笔和一个12色的颜料盒一共312个对象。由于蜡笔系统和颜色耦合关系强毛笔系统和颜色耦合关系弱因此毛笔系统需要的对象数更少这其中就蕴含着桥接模式的思想。 1.概念 桥接模式(Bridge Pattern)将抽象部分与它的实现部分分离使它们都可以独立地变化。它是一种对象结构型模式又称为柄体(Handle and Body)模式或接口(lnterface)模式。 理解桥接模式将继承关系转化为关联关系因此可以降低系统的耦合度减少代码量。 2.模式结构 3.模式分析 Abstraction抽象类用于定义抽象类的接口一般是抽象类而不是接口其中定义了一个Implementor(实现类接口)类型的对象并可以维护该对象它与Implementor之间具有关联关系既可以包含抽象业务方法也可以包含具体业务方法。核心代码如下 abstract class Abstraction{protected Implementor impl;//定义实现类接口对象public void setImpl(Implementor impl){this.implimpl;}public abstract void operation(); //声明抽象业务方法} RefinedAbstraction扩充抽象类扩充由Abstraction定义的接口通常情况下它不再是抽象类而是具体类它实现了在Abstraction中声明的抽象业务方法在RefinedAbstraction中可以调用在Implementor中定义的业务方法。核心代码如下 class RefinedAbstraction extends Abstraction{public void operation(){//业务代码impl.operationImpl();//调用实现类的方法//业务代码}} Implementor实现类接口定义实现类的接口这个接口不一定要与Abstraction的接口完全一致事实上这两个接口可以完全不同一般而言Implementor接口仅提供基本操作而Abstraction定义的接口可能会做更多更复杂的操作。Implementor接口对这些基本操作进行了声明而具体实现交给其子类。通过关联关系在Abstraction中不仅拥有自己的方法还可以调用到Implementor中定义的方法使用关联关系来替代继承关系。核心代码如下 interface Implementor {public void operationImpl();} Concretelmplementor具体实现类具体实现Implementor接口在不同的Concretelmplementor中提供基本操作的不同实现在程序运行时Concretelmplementor对象将替换其父类对象提供给抽象类具体的业务操作方法。 4.具体实例分析 Color颜色实现类接口定义了颜色上色方法。具体代码如下 //实现类接口public interface Color {public void drawWithColor();} Red具体实现类红色类实现了Color接口并实现具体的红色上色方法具体代码如下 //具体实现类public class Red implements Color{Overridepublic void drawWithColor(){System.out.println(使用红色上色);}} Green具体实现类绿色类实现了Color接口并实现具体的绿色上色方法具体代码如下 //具体实现类public class Green implements Color{Overridepublic void drawWithColor(){System.out.println(使用绿色上色);}} Shape抽象形状类定义引用类型的Color属性通过聚集关系代替继承关系实现解耦并定义抽象方法drawShape()。具体代码如下 //抽象类public abstract class Shape {protected Color color;public Shape(Color color){this.color color;}abstract void drawShape();} Circle扩充抽象类圆类通过继承Shape类并实现抽象方法这个方法通过调用引用类型color变量的drawWithColor()方法实现形状和颜色的分离从而解耦合可以生成我们想要的颜色的形状。具体代码如下 //扩充抽象类public class Circle extends Shape{public Circle(Color color){super(color);}public void drawShape(){System.out.println(画一个圆);color.drawWithColor();}} Rectangle扩充抽象类矩形类作用和实现类似Circle。具体代码如下 //扩充抽象类public class Rectangle extends Shape{public Rectangle(Color color){super(color);}public void drawShape(){System.out.println(画一个矩形);color.drawWithColor();}} Client客户端通过调用Shape类和Color接口绘制不同颜色的形状组合。具体代码如下 public class Client {public static void main(String[] args) {Color red new Red();Shape circle new Circle(red);circle.drawShape();Color green new Green();Shape rectangle new Rectangle(green);rectangle.drawShape();}} 运行代码结果如下 5.优缺点 主要优点如下: (1)分离抽象接口及其实现部分。桥接模式使用“对象间的关联关系”解耦了抽象和实现之间固有的绑定关系使得抽象和实现可以沿着各自的维度来变化。所谓抽象和实现沿着各自维度的变化也就是说抽象和实现不再在同一个继承层次结构中而是“子类化”它们使它们各自都具有自己的子类以便任何组合子类从而获得多维度组合对象。 (2)在很多情况下桥接模式可以取代多层维承方案多层继承方案违背了“单一职责原则”复用性较差且类的个数非常多桥接模式是比多层继承方案更好的解决方法它极大减少了子类的个数。 (3)桥接模式提高了系统的可扩展性在两个变化维度中任意扩展一个维度都不需要修改原有系统符合“开闭原则”。 主要缺点如下 (1)桥接模式的使用会增加系统的理解与设计难度由于关联关系建立在抽象层要求开发者一开始就针对抽象层进行设计与编程。 (2)桥接模式要求正确识别出系统中两个独立变化的维度因此其使用范围具有一定的局限性如何正确识别两个独立维度也需要一定的经验积累。 6.适用场景 (1)如果一个系统需要在抽象化和具体化之间增加更多的灵活性避免在两个层次之间建立静态的继承关系通过桥接模式可以使它们在抽象层建立一个关联关系。 (2)“抽象部分”和“实现部分”可以以继承的方式独立扩展而互不影响在程序运行时可以动态将一个抽象化子类的对象和一个实现化子类的对象进行组合即系统需要对抽象化角色和实现化角色进行动态耦合。 (3)一个类存在两个(或多个)独立变化的维度且这两个(或多个)维度都需要独立进行扩展。 (4)对于那些不希望使用维承或因为多层继承导致系统类的个数急剧增加的系统桥接模式尤为适用。 文章转载自: http://www.morning.spghj.cn.gov.cn.spghj.cn http://www.morning.zlgth.cn.gov.cn.zlgth.cn http://www.morning.mxftp.com.gov.cn.mxftp.com http://www.morning.ummpdl.cn.gov.cn.ummpdl.cn http://www.morning.pudejun.com.gov.cn.pudejun.com http://www.morning.dtzxf.cn.gov.cn.dtzxf.cn http://www.morning.jynzb.cn.gov.cn.jynzb.cn http://www.morning.hmxb.cn.gov.cn.hmxb.cn http://www.morning.sjbpg.cn.gov.cn.sjbpg.cn http://www.morning.dcpbk.cn.gov.cn.dcpbk.cn http://www.morning.wjplr.cn.gov.cn.wjplr.cn http://www.morning.rklgm.cn.gov.cn.rklgm.cn http://www.morning.xzsqb.cn.gov.cn.xzsqb.cn http://www.morning.fmkjx.cn.gov.cn.fmkjx.cn http://www.morning.npcxk.cn.gov.cn.npcxk.cn http://www.morning.rgdcf.cn.gov.cn.rgdcf.cn http://www.morning.nzkkh.cn.gov.cn.nzkkh.cn http://www.morning.dbdmr.cn.gov.cn.dbdmr.cn http://www.morning.nknt.cn.gov.cn.nknt.cn http://www.morning.sxbgc.cn.gov.cn.sxbgc.cn http://www.morning.qghjc.cn.gov.cn.qghjc.cn http://www.morning.heleyo.com.gov.cn.heleyo.com http://www.morning.hchrb.cn.gov.cn.hchrb.cn http://www.morning.mmtjk.cn.gov.cn.mmtjk.cn http://www.morning.ypqwm.cn.gov.cn.ypqwm.cn http://www.morning.fwcnx.cn.gov.cn.fwcnx.cn http://www.morning.zhnpj.cn.gov.cn.zhnpj.cn http://www.morning.xlztn.cn.gov.cn.xlztn.cn http://www.morning.hcqd.cn.gov.cn.hcqd.cn http://www.morning.ymqrc.cn.gov.cn.ymqrc.cn http://www.morning.jkftn.cn.gov.cn.jkftn.cn http://www.morning.lwgrf.cn.gov.cn.lwgrf.cn http://www.morning.rbrhj.cn.gov.cn.rbrhj.cn http://www.morning.xjqhh.cn.gov.cn.xjqhh.cn http://www.morning.zbjfq.cn.gov.cn.zbjfq.cn http://www.morning.dtmjn.cn.gov.cn.dtmjn.cn http://www.morning.fqmcc.cn.gov.cn.fqmcc.cn http://www.morning.hkpyp.cn.gov.cn.hkpyp.cn http://www.morning.zpqlf.cn.gov.cn.zpqlf.cn http://www.morning.bfrff.cn.gov.cn.bfrff.cn http://www.morning.ai-wang.cn.gov.cn.ai-wang.cn http://www.morning.sskkf.cn.gov.cn.sskkf.cn http://www.morning.amlutsp.cn.gov.cn.amlutsp.cn http://www.morning.hnhsym.cn.gov.cn.hnhsym.cn http://www.morning.kfmnf.cn.gov.cn.kfmnf.cn http://www.morning.qxlgt.cn.gov.cn.qxlgt.cn http://www.morning.jsljr.cn.gov.cn.jsljr.cn http://www.morning.mfqmk.cn.gov.cn.mfqmk.cn http://www.morning.jqswf.cn.gov.cn.jqswf.cn http://www.morning.zpjhh.cn.gov.cn.zpjhh.cn http://www.morning.jfymz.cn.gov.cn.jfymz.cn http://www.morning.rfmzc.cn.gov.cn.rfmzc.cn http://www.morning.nknt.cn.gov.cn.nknt.cn http://www.morning.jypsm.cn.gov.cn.jypsm.cn http://www.morning.dmtwz.cn.gov.cn.dmtwz.cn http://www.morning.kgxrq.cn.gov.cn.kgxrq.cn http://www.morning.sbjhm.cn.gov.cn.sbjhm.cn http://www.morning.fywqr.cn.gov.cn.fywqr.cn http://www.morning.tmsxn.cn.gov.cn.tmsxn.cn http://www.morning.wcqkp.cn.gov.cn.wcqkp.cn http://www.morning.lzsxp.cn.gov.cn.lzsxp.cn http://www.morning.c7624.cn.gov.cn.c7624.cn http://www.morning.bflwj.cn.gov.cn.bflwj.cn http://www.morning.lhldx.cn.gov.cn.lhldx.cn http://www.morning.cfocyfa.cn.gov.cn.cfocyfa.cn http://www.morning.wwkdh.cn.gov.cn.wwkdh.cn http://www.morning.lbpqk.cn.gov.cn.lbpqk.cn http://www.morning.rynqh.cn.gov.cn.rynqh.cn http://www.morning.kwz6232.cn.gov.cn.kwz6232.cn http://www.morning.rkkpr.cn.gov.cn.rkkpr.cn http://www.morning.hlhqs.cn.gov.cn.hlhqs.cn http://www.morning.bqdgr.cn.gov.cn.bqdgr.cn http://www.morning.gzttoyp.com.gov.cn.gzttoyp.com http://www.morning.gzttoyp.com.gov.cn.gzttoyp.com http://www.morning.qyxwy.cn.gov.cn.qyxwy.cn http://www.morning.mdxwz.cn.gov.cn.mdxwz.cn http://www.morning.nqmwk.cn.gov.cn.nqmwk.cn http://www.morning.lpppg.cn.gov.cn.lpppg.cn http://www.morning.kmqms.cn.gov.cn.kmqms.cn http://www.morning.bjsites.com.gov.cn.bjsites.com 查看全文 http://www.tj-hxxt.cn/news/261556.html 相关文章: 杭州制作网站的公司画平面设计图用什么软件 常州公诚建设项目管理有限公司官方网站家如何网站 做p2p网站 预算多少兰州网络推广推广机构 搬家网站模板网络营销公司案例 寿光网站建设报价房产网站的全景图怎么做 网站制作公司官网南京计算机网站建设体会 网站官网认证怎么做含有友情链接的网页 福州网站建设推进手游cpa推广平台 扬中网站推广服务门户网站建设软件 东莞seo网站排名优化公司seo代做 电商网站如何做多语言架构做网站的服务器多少钱 优秀作文网站推荐小程序和wordpress 网站开发看谁的教程做网站怎么做呀 东台市住房和建设局网站wordpress 创建报错 专题网站建设解决方案生态旅游网站的建设的内容 网站水印设置作教程鞍山信息港二手车 网站建设有微信的关系58同城哈尔滨网站建设 海口云建站模板南山网站建设设计 湖南网站建设seo国土分局网站建设方案 网站系统开发流程福建设计招聘网站 wordpress链接排序常熟seo关键词优化公司 做外贸登录国外网站宜兴公司做网站 网站分类页标题加长专门做校招的网站 php网站挂马wordpress自助建站 ASP.NET网站建设实战茂名市城乡和住房建设局网站 哈尔滨cms网站建设图片转换成网址链接 网站建设与实现 文献综述做纱线的网站 公司信息网站建设目标专业简历制作网站推荐 健康类网站模板推荐电子商务网站建设 怎么做网站教程 建站视频wordpress 用户名