1.什么是设计模式?
设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案,是开发人员经过相当长的一段时间的试验和错误总结出来的。
2.在SSM中经常使用的设计模式有哪些?
MVC设计模式:M--模型,代表一个存取数据的对象或 JAVA POJO。V--视图,代表模型包含的数据的可视化。C--控制器,控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开。
工厂模式:在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。比如Spring中的BeanFactory就是典型的工厂模式。其中,我们不需要管这个Bean是怎么创建的,我们只知道需要创建这个对象,然后使用就行。Spring就是最大的工厂。
抽象工厂模式:是围绕一个超级工厂创建其他工厂。
单例模式:这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。比如在线程安全的时候,就可以使用单例模式
public class App
{
public static void main( String[] args )
{
//System.out.println( "Hello World!" );
test object=test.getintance();
object.show();
}
}
public class test {
//创建一个test对象
private static test instance=new test();
//构造函数,这样就不会实例化
private test() {}
public static test getintance() {
return instance;
}
public void show() {
System.out.println("hello");
}
}
迭代器模式:这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。是为了在提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示。
代理模式:一个类代表另一个类的功能。比如Spring中的AOP。代理模式分为静态和动态。其中静态是指,在程序运行之前,其代理类的.class文件已经存在了。动态代理是指:在程序运行的时候,通过反射机制动态创建而成。其中AOP是动态代理。
拦截过滤器模式:用于对应用程序的请求或响应做一些预处理/后处理。例如在SSM中的对.png,.jpg之类的拦截