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

花都网站设计php网站开发实训报告

花都网站设计,php网站开发实训报告,美食类网站模板,大连几个区文章目录 一、代理模式1、代理模式的好处和缺点1.1 代理模式理解加深 一、代理模式 为什么要学习代理模式#xff1f; 代理模式是Spring AOP 以及 Spring MVC 的底层#xff01;#xff01;并且还是 JAVA 的23种设计模式之一#xff01;#xff01; 代理模式的分类#… 文章目录 一、代理模式1、代理模式的好处和缺点1.1 代理模式理解加深 一、代理模式 为什么要学习代理模式 代理模式是Spring AOP 以及 Spring MVC 的底层并且还是 JAVA 的23种设计模式之一 代理模式的分类 静态代理 动态代理 什么是代理模式 如果我们出现了诉求但是因为某些原因我们本身不想或者无法完成这种诉求我们就需要寻求他人的帮助由他人来完成诉求然后我们直接获取成果就可以了。        打个比方学生毕业之后工作是需要租房子的但是学生通常找不到想要把房子租出去的房主房主也不知道那些学生想要租房子。这时候学生和房主便可以找到中介由中介来完成租房以及找房的这个过程。最终学生和房东只需要交笔中介费便达成了自己的目的。 角色分析 抽象角色 比如房东想要把房子租出去这个行为。通常会使用接口或者抽象类来解决。真实角色 被代理的角色比如房东。代理角色 代理真实角色比如中介。代理真实角色后我们一般会做一些附属操作比如看房、签合同等。客户角色 访问代理对象的人比如租房子的人。 代理模式代码演示 抽象角色房东将房子租出去的诉求 public interface HouseRental {void houseRental(); }真实角色房东本身也就是被代理的人 public class Homeowner implements HouseRental{Overridepublic void houseRental() {System.out.println(房东请求中介将房子出租出去);} }代理角色比如中介中介代理房东将房子出租出去并且进行相关的操作 public class Intermediary implements HouseRental{private Homeowner homeowner;public Intermediary(Homeowner homeowner) {this.homeowner homeowner;}Overridepublic void houseRental() {homeowner.houseRental();seeHouse();sign();fee();}//看房public void seeHouse(){System.out.println(中介带着看房子);}//签合同public void sign(){System.out.println(和中介签署租赁合同);}//收费用public void fee(){System.out.println(中介收取费用);}}客户角色比如想要租房子的人 public class Client {public static void main(String[] args) {// 租户无需直接面对房东Homeowner homeowner new Homeowner();// 房东找到了中介请求把房主租出去Intermediary intermediary new Intermediary(homeowner);// 租户找到了中介请求租房子intermediary.houseRental();} }代码执行结果 1、代理模式的好处和缺点 好处 可以使真实角色的操作更加纯粹不用去关注一些公共的业务 公共角色就交给代理角色实现了业务的分工 公共业务发生扩展的时候方便集中管理 缺点 一个真实角色就会产生一个代理角色代码量级会翻倍开发效率会降低。 1.1 代理模式理解加深 业务场景公司需要对用户进行增删改查操作 接口 public interface UserService {// 业务场景公司需要对人员进行增删改查操作void add();void update();void delete();void query();}真实角色 public class UserServiceImpl implements UserService{Overridepublic void add() {System.out.println(增加了一个用户);}Overridepublic void update() {System.out.println(修改了一个用户);}Overridepublic void delete() {System.out.println(删除了一个用户);}Overridepublic void query() {System.out.println(查询用户信息);} }客户端角色访问 public class Client {public static void main(String[] args) {UserServiceImpl userService new UserServiceImpl();userService.update();} }执行结果修改了一个用户 业务变更公司需要对用户进行增删改查操作的同时需要将对应的操作行为以日志的形式打印出来 如果在操作的同时将日志打印出来的话其实也可以但是会有大量的代码重复操作并且代码原则通常是不修改原本好用的代码如果有变动一般以新增代码为主 接口以及真实角色实现类内容不变创建代理角色 public class Proxy implements UserService{// 将真实角色进行代理private UserServiceImpl userService;// 通过 Set 方法完成代理动作public void setUserService(UserServiceImpl userService) {this.userService userService;}public void add() {log(add);userService.add();}public void delete() {log(delete);userService.delete();}public void update() {log(update);userService.update();}public void query() {log(query);userService.query();}// 打印日志public void log(String mag){System.out.println(执行了 mag 方法);} }客户端调用代理角色 public class Client {public static void main(String[] args) {// 客户端调用真实角色UserServiceImpl userService new UserServiceImpl();// 真实角色将部分内容交给代理角色处理Proxy proxy new Proxy();proxy.setUserService(userService);proxy.add();proxy.delete();proxy.update();proxy.query();} }执行结果
http://www.pierceye.com/news/326612/

相关文章:

  • 东阳海天建设集团网站网站蜘蛛爬行统计
  • asp企业网站cms北京大型网站建设公司
  • 网站要多钱杭州排名优化公司电话
  • 怎么在网站中添加百度商桥南京营销网站建设
  • 沈阳火车站wordpress的vieu主题破解版
  • 食品网站建设 网站定制开发微网站建设的第一步是进行首页的设置
  • 一站式装修公司有哪些500人在线网站建设配置
  • 郴州网站制作哪个网站可以做市场调研报告
  • 劲松网站建设公司做运营需要具备什么能力
  • 企业建设网站是网络营销吗17网站一起做网店新塘
  • 电子书籍网站开发重庆网站建设快速建站
  • 广州 企业网站建设公司网页设计模板
  • 长安网站建设制作价格乐清网站
  • 小游戏网站怎么做建站徐州seo代理计费
  • 苏州网站建设数据网络淘宝网店怎么运营起来
  • 网站建设项目实战实训报告凡科建网站
  • 网站建设程序编制做网站优化的教程
  • 已有网站 需要整改 怎么做信息网官网
  • 中石建基础设施建设有限公司网站南阳网站建设的公司
  • 广东建设银行网站营销渠道策略
  • 廊坊开发区规划建设局网站网站域名续费一年多少钱
  • 网站建设需要哪些准备国外网站顶部菜单设计
  • 免费域名注册和免费建站深圳品牌沙发
  • php网站开发就业网站开发研究综述
  • 华升建设集团有限公司网站网站如何做那种诱导广告
  • 做资讯网站要什么手续科技设计公司网站模板下载
  • 西安互联网网站建设湘潭网站建设设计
  • 微网站开发方案模板前程无忧招聘网下载app官网
  • 网站推广方式大全如何写软文赚钱
  • 同城同镇网站建设做幼儿网站的目标