1.单例模式
2.工厂模式(分三种,简单工厂,工厂方法,抽象工厂)
抽象工厂 适合于产生一系列产品,一个工厂接口里定义了产生一组产品的方法。
工厂模式的好处:当我们需要更换产品的时候,我们只需要定义一个新的工厂类,实现工厂接口即可。
典型运用:Spring里的BeanFactory,BeanFactory有一实现类ClassPathXMLApplication将配置文件中的类找到并生成对象,BeanFactory将这些对象放在一个Map中,使用时通过键值取得这些对象即可。
3.代理模式(静态代理,动态代理)
[先说点题外话,
面向接口编程,设计的最终目的就是为了应付各种变化,所以在Java设计中应多设计接口,这样才有良好的扩展性。
以后当需求变化时,我们只需要写一个新的具体实现类实现原来的接口就可以,对之前使用接口的代码无需修改。
个人理解,这正是多态的好处。
网友说:对系统而言,新增加一个类的代码风险要大大低于对已有类代码的修改。]