关于三层架构mvc的解释
dao层 对象层
service层 业务逻辑层
dao层 dao.java
dao层实现 daoImpl.java
service层 service.java
service层 ServiceImpl.java
测试类
上面要------表达的东西
如果客户更改一下东西需要更改底层的实现类的代码,如果底层实现类的代码多了,就会出现很多的冗余操作.
这样改dao层实现代码的方式是一种侵入式的编程方式,是不推荐的
如果采用上面这种方式,程序跟不上用户的变更
Service层更改ServiceImpl实现
表达的------重点思想
之前控制权在程序员手里面, 程序控制创建对象
set的动态注入, 通过业务逻辑层的调用实现对对象的使用 ( 这里的就是==控制翻转(IOC)的原型== )
降低耦合性
设计程序的思想就是, 高内聚低耦合
需要注意的是,这里的用户不能单单指定是网站的使用者
控制层也相当于一个用户
实现IOC的方式
依赖注入(DI)是实现控制反转(IOC)的一种方式
XML配置
方式
注解
方式
这两种都可以实现IOC
控制反转loC(Inversion of Control),是一种设计思想,DI(依赖注入)是实现loC的一种方法,也有人认为DI只是loC的另一种说法。没有loC的程序中,我们使用面向对象编程,对象的创建与对象间的依赖关系完全硬编码在程序中,对象的创建由程序自己控制,控制反转后将对象的创建转移给第三方,个人认为所谓控制反转就是:获得依赖对象的方式反转了。
采用XML方式配置Bean的时候,Bean的定义信息是和实现分离的,而采用注解的方式可以把两者合为一体,Bean的定义信息直接以注解的形式定义在实现类中,从而达到了零配置的目的。
控制反转是一种通过描述(XML或注解)并通过第三方去生产或获取特定对象的方式。在Spring中实现控制反转的是loC容器,其实现方法是依赖注入(Dependency Injection,Dl)。