之前我们学习了一些设计模式,今天我们剖析Java JDK 源码中用到的几种常见的设计模式。
1-jdk之工厂模式
在前面讲到工厂模式的时候,大部分工厂类都是以Factory作为后缀来命名,并且工厂类主要负责创建对象这样一件事情。但在实际的项目开发中,工厂类的设计更加灵活。那我们就来看下,工厂模式在Java JDK中的一个应用:java.util.Calendar。
public static Calendar getInstance(){
return createCalendar(TimeZone.getDefault(), Locale.getDefault(Locale.Category.FORMAT));
}
private static Calendar createCalendar(TimeZone zone,Locale aLocale){
CalendarProvider provider =
LocaleProviderAdapter.getAdapter(CalendarProvider.class, aLocale)
.getCalendarProvider();
if (provider != null) {
try {
return provider.getInstance(zone, aLocale);
} catch (IllegalArgumentException iae) {
// fall back to the default instantiation
}
}
Calendar cal = null;
if (aLocale.hasExtensions()) {
String caltype = aLocale

本文详细探讨了JavaJDK源码中使用的几种设计模式,包括工厂模式(如Calendar的getInstance()),Builder模式(Calendar.Builder),装饰器模式(Collections类中的装饰器),适配器模式(Observable和Observer),模板模式(Collections.sort()),观察者模式(EventBus和JDK中的Observer),以及单例模式(Runtime类)。

425

被折叠的 条评论
为什么被折叠?



