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

做一个网站要注意什么东西网站优化图片链接怎么做

做一个网站要注意什么东西,网站优化图片链接怎么做,深圳龙岗发布通告,A00网站建设文章目录 前言一、传统方式创建对象二、接口编程三、工厂方法四、反射五、Spring IOC总结 前言 有同学在学习 Spring 框架中可能会问这样的问题#xff0c;为什么通过依赖注入就可以降低代码间的耦合呢#xff1f;我通过 new 生产对象不也可以吗#xff0c;不就是一行代码的… 文章目录 前言一、传统方式创建对象二、接口编程三、工厂方法四、反射五、Spring IOC总结 前言 有同学在学习 Spring 框架中可能会问这样的问题为什么通过依赖注入就可以降低代码间的耦合呢我通过 new 生产对象不也可以吗不就是一行代码的不同一个是 Resource 注入一个是 new 创建怎么就降低耦合了 一、传统方式创建对象 通常我们是这样创建对象的 WuliCar wuli new WuliCar(); wuli.run();第一天二明想用一辆车然后通过 new 搞了一辆五菱荣光调用 run 方法开始使用车子跑起来了很高兴。 一个月后二明公司赚钱了不想开五菱了想换辆宝马接下来二明一顿操作 BaomaCar baoma new BaomaCar(); baoma.run();很好车子从五菱换成了宝马跑起来了很高兴。 半年后二明公司赚大钱了二明想搞辆直升机接下来又一顿操作 ZhiShenJi zhi new ZhiShenJi(); zhi.fly();这次改动比较大宝马换成直升机run 换成了 fly。 看到这里先思考一下不想往下看这样做有什么问题吗 思考时间到我们接着往下看。 从代码看好像没多大问题不就改了两行代码嘛这有啥。你想想如果你的代码中有 1000 个地方都是这么写的你想把宝马换成直升机岂不是要改 1000 次run 改成 fly 又要改 1000 次晚上别想下班了。 二、接口编程 经过上次一顿操作二明加了好几天班才弄完二明想想每天这么搞不得累死不行得想想办法。于是二明脑子一转了一想就想到了。我定义好一些方法大家都按照这个规则来不就好了。 public interface vehicle {// 定义一个交通工具接口有一个 work 方法void work(); }宝马实现这个接口 public class Baoma implements vehicle {Overridepublic void work() {System.out.println(宝马跑起来); } }飞机实现这个接口 public class ZhiShenJi implements vehicle {Overridepublic void work() {System.out.println(直升机飞起来); } }经过上面改造后后面二明想把宝马换成直升机的时候只需要修改 new 那块就可以了省了很多时间 三、工厂方法 利用接口确实好一些了但是问题还是没有解决。为了提高内聚性专职类负责特定的事情所以我们使用一个类作为工厂类既能生产 Car 又能生产 ZhiShenJi class VehicleFactory{VehicleFactory(){}public static Vehicle getInstance(String type){Animal result null;if(car.equals(type)){result new Car();}if(zhishenji.equals(type)){result new ZhiShenJi();}return result;} }如果有一次我想锻炼身体想骑自行车了那么很简单 class VehicleFactory{VehicleFactory(){}public static Vehicle getInstance(String type){Animal result null;if(car.equals(type)){result new Car();}if(zhishenji.equals(type)){result new ZhiShenJi();}if(zixingche.equals(type)){result new ZiXingChe();}return result;} }Vehicle vehicle VehicleFactory.getInstance(zixingche); vehicle.work();这种方法把创建对象的过程交给了一个专业的类(Factory),我只需要告诉他我需要什么(参数),他就会返回给我正确的对象只是解决了内聚性的问题但是他并没有解决我的声明语句七零八落的散落在程序中,我还是需要去将参数从car替换为zixingche 四、反射 后来二明想到一个更绝妙的主意.我在写程序的时候不告诉工厂我需要什么,等到运行的时候我再告诉工厂我需要什么,再利用反射技术给我生产出来不就可以了吗?二明说干就干 Vehicle vehicle VehicleFactory.getInstance(读取配置文件); vehicle.work();我想要的zixingche zixingche.work(); 大功告成这样我要什么都写在一个配置文件中利用反射技术就可以创建好这样我就不用在生产了下次换车的时候直接去配置文件中修改就好了代码中不用修改。 对于生产对象这件和业务没有直接关系的事情我们已经提取给了专业的工厂专业的工厂还是根据配置文件进行的生产想生产什么我只需要改一处即可这就是降低了耦合性生产对象和业务之间的耦合让生产对象对业务的影响降到了最低。 五、Spring IOC 上面第四点说的那些功能Spring IOC 已经帮助我们实现了Spring IOC 就是利用工厂模式反射实现自动生产对象管理对象生命周期的功能。降低了代码的耦合 总结 依赖注入的意思是你需要的东西不是由你创建的而是第三方或者说容器提供给你的。这样的设计符合正交性即所谓的松耦合。依赖注入是调用者仅通过声明某个组件就可以获得组件的控制权而对该组件的依赖关系管理、查找、加载由外部完成。依赖注入就是你不用关心对象的生命周期什么时候被创建什么时候销毁只需直接使用即可对象的生命周期由提供依赖注入的框架来管理。
http://wiki.neutronadmin.com/news/393540/

相关文章:

  • 乌兰察布做网站公司广州建设局
  • 深圳自适应网站建设校园推广方式
  • 网站建设应该学什么百度集团总部在哪里
  • 公司做网站开发流程vi品牌包装
  • 做跨境的网站有哪些天津seo建站
  • 做公司网站的南宁公司网站提示宏
  • 个性化建网站定制做网站手机端不做PC可以吗
  • 本地网站搭建流程网站域名费怎么查询
  • 如何推广网站架构少儿编程加盟品牌有哪些
  • 用pyton可以做网站吗禹州市门户网站建设
  • 天津网站建设技术托管推广网络公司
  • 网站 乱码最新购物网站建设框架
  • 铜梁城乡建设网站单页网站内链接
  • 广州知名网站建设哪家好软件商店电脑版下载
  • 宝山网站建设 网站外包wordpress更换域名首页无法访问
  • wordpress的aware主题广州 关于进一步优化
  • ins做甜品网站wordpress 招聘模块
  • 郑州营销型网站建设价格福州市住房和城乡建设部网站
  • 响应式网站pad尺寸wordpress二级菜单排列
  • 仪征市城乡建设局网站四川seo技术培训
  • 郑州网站建设公司qq做海报一般都去什么网站看
  • 江苏省建设厅网站资质升级网站流量如何盈利
  • 来宾住房和城乡建设局网站青海格尔木建设局网站
  • 在vs上用c 做登录网站wordpress个人资料
  • 公众号网站怎么做百度一下京东
  • 营商环境建设监督局网站企业网站托管一个月多少钱
  • 关于做网站的了解点企业做网站的
  • 网站做百度竞价引流费用多少钱企业运营模拟实践报告
  • 个性化网站建设多少钱运营推广渠道有哪些
  • 山东省建设工程执业资格中心网站网站建设后运维合同