Java培训笔记 09-框架

Tier对比Layer

  • Tier物理层:关于系统的基础设施的物理方面的架构。比如数据服务是Tomcat或Jboss,数据库是MySQL或Oracle。
  • Layer逻辑层:包含构成程序解决方案元素的逻辑架构。
  • 在这里插入图片描述

五个不同物理层及他们对应职责

在这里插入图片描述

创建型模式包含工厂模式和单例模式。

工厂模式

用于处理关于对象的创建,将复杂的逻辑参与到客户的对象创建中,根据提供的数据返回多个类中的一个实例。
Spring提供了BeanFactory类来负责创建不同类型的对象。比如表现组件、模块组件、持久化组件。

单例模式

是spring的默认模式。目的:

  • 单例模式确保某个类只有一个实例,自行实例化,并且向整个系统提供一个全局的接入点。
  • 控制对象的生成,一般控制在一个,但合适情况下也可以创建多个对象。
  • 增加自身对资源控制的链接,比如数据库链接。
    在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的功能。每台计算机可以有若干个打印机,但只能有一个Printer Spooler,以避免两个打印作业同时输出到打印机中。每台计算机可以有若干通信端口,系统应当集中管理这些通信端口,以避免一个通信端口同时被两个请求同时调用。总之,选择单例模式就是为了避免不一致状态,避免政出多头。
    Spring框架用例:所有Beans(java classed)默认被单例化定义在Spring配置文件中。
    详细看这里理解

Java EE设计模式

  • 表现层:前端控制器模式(主要管理请求的操作和跳转的分支处理,对请求进行集中控制逻辑处理,为发生的所有请求的共同处理逻辑提供一个单独的地址)
  • 业务层:业务代表模式(允许表现层访问业务逻辑层,允许表现层和业务处理之间相互影响),业务对象(BO)(用来描述域模型的概念,提供集成了主要对象模型)
  • 集成层:数据访问对象(DAO)(封装了所有资源层,对客户隐藏数据访问的具体实现细节,提供了一个系统的API来应对客户潜在的各种变更)

MVC架构

model层可以处理业务逻辑,并且从底层取出数据
模型Model – 管理大部分的业务逻辑和所有的数据库逻辑。模型提供了连接和操作数据库的抽象层。
控制器Controller - 负责响应用户请求、准备数据,以及决定如何展示数据。
视图View – 负责渲染数据,通过HTML方式呈现给用户。

控制反转(IoC)

是在框架上使用的一种概念,应用于轻量级容器开发,容器作为应用的主要程序,容器调用用户默认的方法来适应框架。类型如下
在这里插入图片描述
依赖查找:应用寻找它所依赖的对象
依赖注入:完全负责依赖关系的查找和组件的创建,应用实体通过应用的依赖组件和容器的实体建立联系,容器支持应用从容器中独立出来。(和依赖查找比起来,为容器下层的应用提供了更多的独立性)
设置注入:组件依赖通过JavaBean属性来配置管理,实体被容器实例化之后Setter方法能够立即被调用。依赖都在配置文件里管理,只有真正实现时才关心细节,Spring把之前代码里的依赖解耦,放到配置文件里。(设置注入取决于配置的值,并且通过JavaBean的属性来表现合作关系)
构造器注入:通过构造函数的参数来配置组件依赖。(构造器注入取决于配置的值,并且通过构造函数的属性来表现合作关系)

如何简化JAVA开发

  1. 依赖注入 解决松耦合问题
  2. 使用AOP 面向切片/切面编程 实现关注点分离
  3. 使用一些模板来简化模板式代码

JavaWeb三层架构

三层架构就是将整个业务应用,从上至下划分为:

  • 界面层/表示层(User Interface layer):位于最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。
  • 业务逻辑层(Business Logic Layer):负责关键业务的处理和数据的传递。复杂的逻辑判断和涉及到数据库的数据验证都需要在此做出处理。主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理,如果说数据层是积木,那逻辑层就是对这些积木的搭建。
  • 数据访问层(Data access layer):主要负责对数据库的直接访问,为业务逻辑层提供数据,根据传入的值来操作数据库,增、删、改、查。

区分层次的目的即为了“高内聚低耦合”的思想。

ORM

对象-关系映射(Object-Relational Mapping,简称ORM)。
简单地说,就是把没有对象概念的关系型数据库中的数据,模拟成对象概念,还保留着他们之间的关联关系。面向对象的代码自动转换成SQL语句,并更新所有的关联表格。
对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系。因此,对象-关系映射(ORM)系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。

JavaBean和entity的区别

一些JavaBean中会封装一些简单逻辑,可以有其它的方法。
entity实质是一个简化的javabean ,只有私有属性加 set、get方法

组合和聚合

组合时不可分割的,相当于人和手;
聚合是可分割的,相当于教室和板凳

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值