java23种设计模式理解和练习总结

本文详细介绍了Java中的23种设计模式,包括工厂方法模式的三种变体、抽象工厂模式和单例模式。通过问题驱动和UML图辅助理解,强调在多线程环境下单例模式的安全问题及其解决方案。
摘要由CSDN通过智能技术生成

思路源泉来自这类原文:Java开发中的23种设计模式详解(转)

有些人看了这篇可能只是转载或者收藏,对我来说就是写,练习,要有自己的理解。
看完保证你了解了主干,并会用格式。
本文以问题来驱动,以UML图来理解设计模式
1、工厂方法模式
分三种。
先直接看下面这个先。
1-1、普通工厂模式
description:
说白了在代码体现就是建立一个工厂,然后里面有个生产方法创建实现同一个接口的对应的实现类对象。
exercises:
设计一个发送接口(Sender),有send()方法。
有两个实现类发送邮件(EmailSender)和发送短信(MessgeSender)类,
建立工厂,工厂里有一个方法produce方法,形式public Sender produce(String type){}
该方法要求:如果是EmailSender类型则new该类对象,如果是MessgeSender类则new该类对象,
方法返回传入参数对应类型对象。
FactoryTest测试使用。
UML diagram:
an possible answer(source):
1-2:多个工厂方法模式
description:
在上述模式中改进,不再使用单独一个方法。有问题:如果传递的字符串有问题,则不能正确创建对象
所以,把

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值