当前位置: 首页 > news >正文

免费建站网站一级 熟熟俱乐 一级夫妇性活 五月天噪综合南阳网站seo

免费建站网站一级 熟熟俱乐 一级夫妇性活 五月天噪综合,南阳网站seo,中央廉政建设网站,网站推广方法有几个目录 代理模式 简介 优缺点 角色职责 实现 运用场景 外观模式 简介 角色职责 优缺点 实现 使用场景 代理模式 简介 由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为…

目录

代理模式

简介

优缺点

角色职责

实现

运用场景

外观模式

简介

角色职责

优缺点

实现

使用场景


代理模式

简介

由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介

优缺点

优点:

        1.在客户端与目标对象之间起到一个中介作用和保护目标对象的作用

        2.可以扩展目标对象的功能

        3.将客户端与目标对象分离,在一定程度上降低了系统的耦合度,增加了程序的可扩展性

缺点:

        1.会造成系统设计中类的数量增加

        2.在客户端和目标对象之间增加一个代理对象,会造成请求处理速度变慢

        3.增加了系统的复杂度

角色职责

抽象主题(Subject)类:通过接口或抽象类声明真实主题和代理对象实现的业务方法。
真实主题(Real Subject)类:实现了抽象主题中的具体业务,是代理对象所代表的真实对象,是最终要引用的对象。
代理(Proxy)类:提供了与真实主题相同的接口,其内部含有对真实主题的引用,它可以访问、控制或扩展真实主题的功能

实现

package proxy;
public class ProxyTest {public static void main(String[] args) {Proxy proxy = new Proxy();proxy.Request();}
}
//抽象主题
interface Subject {void Request();
}
//真实主题
class RealSubject implements Subject {public void Request() {System.out.println("访问真实主题方法...");}
}
//代理
class Proxy implements Subject {private RealSubject realSubject;public void Request() {if (realSubject == null) {realSubject = new RealSubject();}preRequest();realSubject.Request();postRequest();}public void preRequest() {System.out.println("访问真实主题之前的预处理。");}public void postRequest() {System.out.println("访问真实主题之后的后续处理。");}
}​

运用场景

1.AOP:通过定义切面、切入点和通知等,Spring AOP在运行时生成代理对象,将切面逻辑织入到目标对象的方法调用中。代理对象在方法调用前后执行附加操作,如日志记录、性能监控等。
2.动态代理(JDK动态代理、CGLIB代理):当Bean类实现了接口时,Spring使用JDK动态代理来为Bean生成代理对象;当Bean类没有实现接口时,Spring使用CGLIB代理来生成代理对象。
 

外观模式

简介

        提供了统一的接口,用来访问子系统中的一群接口。外观模式定义了一个高层接口,让子系统更加容易使用。

角色职责

        外观角色:提供一个外观接口,对外提供一个易于客户端访问的接口,对内可以访问子系统中的所有功能。

        子系统角色:子系统在整个系统中可以是一个或者多个模块,每个模块都是若干类组成,这些类之间可能相互复杂的关系。

        客户端:外观接口调用测试者。

优缺点

优点:

        1.减少系统相互依赖

        2.提高灵活性

        3.提高了安全性

缺点:

        在不对外观类进行抽象的时候,如果需要添加新的子系统,就需要对外观类进行修改,违背了开闭原则

实现

public class CPU {public void startup(){System.out.println("cpu startup!");}public void shutdown(){System.out.println("cpu shutdown!");}
}public class Memory {public void startup(){System.out.println("memory startup!");}public void shutdown(){System.out.println("memory shutdown!");}
}public class Disk {public void startup(){System.out.println("disk startup!");}public void shutdown(){System.out.println("disk shutdown!");}
}public class Computer {private CPU cpu;private Memory memory;private Disk disk;public Computer(){cpu = new CPU();memory = new Memory();disk = new Disk();}public void startup(){System.out.println("start the computer!");cpu.startup();memory.startup();disk.startup();System.out.println("start computer finished!");}public void shutdown(){System.out.println("begin to close the computer!");cpu.shutdown();memory.shutdown();disk.shutdown();System.out.println("computer closed!");}
}//测试
public class User {public static void main(String[] args) {Computer computer = new Computer();computer.startup();computer.shutdown();}
}

        如果没有Computer类,那么,CPU、Memory、Disk他们之间将会相互持有实例,产生关系,这样会造成严重的依赖,修改一个类,可能会带来其他类的修改,这不是我们想要看到的,有了Computer类,他们之间的关系被放在了Computer类里,这样就起到了解耦的作用,这,就是外观模式!

使用场景

        1.对分层结构系统构建时,使用外观模式定义子系统中每层的入口点可以简化子系统之间的依赖关系

        2.当一个复杂系统的子系统很多时,外观模式可以为系统设计一个简单的接口供外界访问

        3.当客户端与多个子系统之间存在很大的联系时,引入外观模式可将它们分离,从而提高子系统的独立性和可移植性

http://www.laogonggong.com/news/30789.html

相关文章:

  • 上海个人网站建设网络营销方案3000字
  • 温州网站外包沧州网站建设优化公司
  • 婚恋网站里加的人做时时彩seo优化报告
  • 网站内容的建设深圳谷歌网络推广公司
  • 做网站的团队线下推广100种方式
  • 天津建设部网站首页优化设计答案六年级上册语文
  • 施工企业综合管理费江苏网站seo
  • 设计外贸商城网站建设百度指数关键词
  • 石家庄官网建设seo怎么优化武汉厂商
  • 武汉网站建设制作河北seo技术
  • 卫浴洁具公司网站模板巩义网络推广公司
  • 珠宝网站建设要以商为本360推广助手
  • 蚂蜂窝网站源码百度竞价推广专员
  • 网站欢迎页面怎么做广东seo网站设计
  • 如何看网站的建站时间好的竞价推广托管
  • 检察院门户网站建设东莞seo优化案例
  • 随州网站制作价格介绍网络营销的短文
  • 网站建设html5作品seo推广公司招商
  • 网站外链接自己可以怎么做优化网络搜索引擎
  • 上海做网站汉狮网络网络销售渠道有哪些
  • 合肥婚恋网站建设百度安装应用
  • 西安做网站电话吉林seo基础
  • 建专业外贸网站百度推广竞价技巧
  • 做网站建设推荐线上推广有哪些平台效果好
  • 阿里云备案网站建设方案书范文关键词优化价格表
  • 网站后台做图片尺寸是多大软文推广怎么写
  • 旅游微网站分销百度竞价sem入门教程
  • 提供微网站建设永久免费开网店app
  • 博物馆网站制作建立网站一般要多少钱
  • 香河县住房和城乡建设局网站百度一下搜索引擎