创建型设计模式与SSM框架源码

创建型设计模式及之间的关系:

  • 定义: 主要用途是控制对象的创建,包括工厂方法(FactoryMethod),抽象工厂(AbstractFactory),建造者(Builder),原型(Prototype),单例(Singleton)这五种。
  • 工厂方法与抽象工厂,建造者,原型的关系:工厂方法与抽象工厂,建造者,原型这三个设计模式关系紧密,通常程序员会以工厂方法作为对象创建的工厂类,然后根据需求的不断变更,调整工厂方法为抽象工厂,建造者,原型这三种。
  • 四种设计模式场景:工厂方法主要简单用于针对简单的参数,去创建不同的对象;而抽象工厂用于创建一个对象族;建造者则侧重于创建一个属性复杂的对象;原型则侧重于拷贝原对象;静态工厂侧重于简单生成一个对象;五者各有其使用场景。
  • 单例:单例模式是最特殊的创建型设计模式,因为不涉及批量生成对象,只创建一个对象。保证这个类只有一个对象,并提供一个全局访问点。

工厂方法(FactoryMethod):

  • 这是最简单的设计模式,写一个类,里面一个方法,方法可以接收一个消息,方法根据消息选择返回怎样的对象,可能延迟到子类去产生,当然返回类型基于多态。
  • Spring的IOC容器使用的getBean("")就是在使用工厂方法。

抽象工厂(AbstractFactory):

  • 这也是一个挺常用的设计模式。定义一个抽象工厂类,多个实体工厂类再对抽象工厂类进行实现。对产品族就行管理,产生的对象永远是根据不同的工厂类产生的,用到了两个多态,一个是工厂的多态,一个是产品的多态。有明显的封装变化的思想。
  • Spring支持声明抽象工厂时。

建造者(Builder):

  • 最常见的设计模式。定义一个接口,可以配置大量复杂属性,通过链型编程或xml配置。
  • 爬虫框架okhttp的链式编程。
  • mybatis的SessionFactoryBuilder使用xml配置进行的对象生成。

原型(Prototype):

  • java语言自带的设计模式。clone()方法返回的是该对象的拷贝。
  • Spring的bean声明中scope的prototype。

单例(Singleton):

  • 保证只有一个对象,提供一个全局访问点。
  • Spring的bean声明中scope的默认值或singleton声明。

最后:

希望可以多多指点一下,毕竟就是一个连java实习生岗位3k薪水都找不到的大四生。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值