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

网站开发中 敬请期待网站优化系统

网站开发中 敬请期待,网站优化系统,开一家互联网公司需要多少钱,备案域名多少钱Spring: 出现在2002左右.解决企业级开发的难度.减轻对项目模块 类与类之间的管理帮助开发人员创建对象,管理对象之间的关系. 补充:什么是OCP原则?(面试) (1)是软件七大开发当中最基本的一个原则&#xff…

Spring: 出现在2002左右.解决企业级开发的难度.减轻对项目模块 类与类之间的管理帮助开发人员创建对象,管理对象之间的关系.

补充:什么是OCP原则?(面试)
 (1)是软件七大开发当中最基本的一个原则,开闭原则。
 (2)什么是开(open)?对扩展开放
 (3)什么是闭(close)?对修改关闭
  * 是最基本的,最核心的,其他的六个原则为其服务
  * OCP的开闭原则的最核心是什么?
          只要你在扩展系统功能的时候,没有修改以前写好的代码,那么就是符合OCP原则(扩展力强,耦合度低
          反之,如果你在扩展系统功能的时候,修改了以前的代码,那么这个设计是失败的,不符合
          当对系统功能进行扩展,如果修改了之前的代码,之前所有的程序都需要进行测试,这是我们不想看到的

案例:

表示层:

持久层:


业务层:

缺点:
       我们现在就是controller->依赖service->依赖mapppr(上依赖下都违背了依赖倒置原则)。Controller具体依赖了UserServiceImpl实现类,而UserServiceImpl又具体依赖UserMapperIMpl ,下面只要一动就影响了上(等号后面是具体实现类)依赖倒置原则(开发原则)就是上不依赖下

正确的依赖:
   *我们应该
面向抽象编程面向接口编程,不是面向具体编程(就是我们平常用的框架)(什么是依赖倒置原则?)
   *应该是private Uservice userService; 
   *
降低程序的耦合度,提升扩展力(目的) 

总结:现在的项目违背了OCP原则以及DIP原则

解决:我们现在的用控制反转(IOC)来解决问题:(Inversion of controll)

特别重点:

控制反转是什么?

(一)是一种编程思想,新型的设计模型,由于出现比较新,没有被纳入GoF23种设计模型

(二)我不在程序中采用硬编码的方式来new对象(new 对象的权力交出去

(三)我不在程序中采用硬编码的方式来维护对象的关系了(对象之间的维护权我也交出去了

spring框架(面试):

   *实现了控制反转Ioc思想

   *可以帮你new对象(反转)

   *可以帮你维护对象与对象之间的关系(反转)

   *是一个实现Ioc思想的容器

   *spring是一个容器,容纳这么多bean(凡是被spring创建出来的对象)的容器,更加易于管理

正转: 开发人员在代码中使用new创建对象,开发人员主动管理对象

反转: 

控制反转的方式有很多种:

       依赖注入(控制反转思想的实现方式)(DI) (两种具体的实现方式依赖指的是A对象与B对象的关系,注入是一种手段,可以让A对象与B对象产生关系并且维护(让其符合OCP原则与DIP原则)

      *set注入(执行set方法给属性赋值)
      *构造方法注入 (执行构造方法给属性赋值)

      *控制反转是思想,依赖注入是实现

IOC的技术实现:

       DI 是 ioc 的技术实现.DI(Dependency Injection): 依赖注入,只需要在程序中提供要使用的对象名称就可以,至于对象如何创建 赋值 查找都是由容器内部实现
    
       Spring是使用的DI实现了ioc的功能,spring底层创建对象,使用的是反射机制.
Spring是一个容器,创建对象,给对象赋值,底层是反射创建对象.

补充:ApplicationContext ac = new ClassPathXMLApplicaton("conf");这行代码是读取spring的配置文件,在读取spring的配置文件中一旦遇到<bean id="" class="">这个标签,就会根据反射机制来创建名字为id的这个class类的对象,并将对象存放在key=id,value=对象的map集合中.

在我们测试的时候,底层原理就是通过反射机制调用类的无参构造方法(可以设置构造方法来测试,要保证它的存在)来实例对象getBean相当于map的key,可以通过id来从集合中获取这个spring容器为我们创建的对象了.
bean的Id写错那么不会报空,直接报错
//        ApplicationContext的超级父接口beanFactory(能够生产bean对象的工厂,是IOC的顶级接口)
Spring底层实际是使用了工厂模式xml解析+工厂模式+反射机制 就可以实现IOC

http://www.dtcms.com/wzjs/118472.html

相关文章:

  • 建筑企业网站有哪些电商产品推广方案
  • 跨境电商独立站建站服务aso搜索优化
  • 做网站如何排版陕西seo公司
  • wordpres做影视网站市场调研的方法有哪些
  • 苹果网站设计宁德市人力资源和社会保障局
  • 做自媒体素材搬运网站爱站关键词挖掘查询工具
  • 做网站优化找谁google adsense
  • 北京建设网站的杭州网络推广外包
  • 网络营销是什么样子的广东seo点击排名软件哪家好
  • 旅游网站B2C培训课程
  • 做优化网站哪个公司好长沙seo霜天
  • 免费有趣的网站百度站长工具查询
  • 苏州建设监督网站河南网站建站推广
  • 男人女人做那事网站今日重大国际新闻军事
  • 网站建设顾问软文案例500字
  • 建网站啦自己建网站需要钱吗
  • wordpress create a network南京百度提升优化
  • wordpress calendar网站的优化公司
  • wordpress bindchatseo有哪些网站
  • 九江市建设工程质量监督站网站推广百度百科
  • 丹东建设网站建站软件
  • 做视频大赛推广的网站搜狗seo怎么做
  • 企业网站模板下载需谨慎半数留有后门网络营销模式有哪些?
  • 关键词优化一般收费价格郑州seo关键词排名优化
  • wordpress商品展示模板seo站长助手
  • 校车网站建设今日热搜榜排行榜
  • 沈阳有什么网站seo竞价推广
  • 外国可以做站外推广的网站西安seo站内优化
  • 加强新闻网站建设建议亚马逊查关键词搜索量的工具
  • 和平网站制作百度 seo优化作用