Java的设计模式大体上分为三大类:
创建型模式(5种):工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。
结构型模式(7种):适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式。
行为型模式(11种):策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
Java框架
如今Java中三大框架有两套:SSM:Spring+SpringMVC+Mybatis;SSH:Spring+Struts+Hibernate。
Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势*就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。
SpringWeb MVC是一种基于Java的实现了WebMVC设计模式的请求驱动类型的轻量级Web框架,目的是帮助我们简化开发。
Mybatis是一个持久层的框架,是对JDBC操作数据库的封装,使开发者只需要关注业务本身,不需要花费精力去处理加载驱动、创建数据库连接对象、创建statement语句对象、参数设置、结果集处理等一系列繁杂的过程代码。
Struts是最早的Java开源框架*,是MVC设计模式的一个优秀实现。 Struts定义了通用的Controller(控制器),**配置文件(通常是 Struts -config.xml)、隔离Model(模型)和View(视图),以Action的概念以对用户请求进行了封装,使代码更加清晰易读。
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
SSH框架是*的用于Web开发的框架,再到后来出现了SSM框架。Hibernate是重量型框架,入手难,Mybatis是轻量型框架,入手容易,针对*级查询,Mybatis需要手动编写SQL语句以及ResultMap。而Hibernate有良好的映射机制,开发者无需关心SQL的生成与结果映射,可以更专注于业务流程。