java设计模式一些问题
1.设计模式的原则有哪些? 总原则是开闭原则,就是对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码。 还有其他六个原则都是围绕这个原则展开的:单一职责原则(每个类应该实现单一的职责),里氏替换原则(任何基类可以出现的地方,子类一定可以出现),依赖倒转原则(面向接口编程,依赖于抽象而不依赖于具体), 接口隔离原则( 每个接口中不存在子类用不到却必须实现的方法,如果不然,就要将接口拆分 ), 最少知道原则( 一个类对自己依赖的类知道的越少越好, 将逻辑封装在方法的内部 ), 合成复用原则( 尽量首先使用合成/聚合的方式,而不是使用继承 )。 2.请列举出在JDK中几个常用的设计模式? 像Runtime和Calendar就是用单例模式设计的。 还有工厂模式比如说: -JDBC中Connection对象的获取。 - Hibernate中SessionFactory创建Session。 - Spring 中IOC容器创建管理bean对象。 - XML解析时的DocumentBuilderFactory创建解析器对象。 - 反射中Class对象的newInstance()。 观察者模式被用于swing和很多的时间监听中。 3.说一下什么是单例模式,并描述一下怎么设计出一个线程安全的单例模式。 什么是单例模式可以从它的三个特点来描述:第一是这类只能有一个实例