设计模式
1. 概念
2. 软件设计原则
3. 常见的设计模式
什么是设计模式
1. 模式--经验:软件开发实践过程中总结的经验,通常被有经验的面向对象的软件开发人员所采用。
2. 注意地方:结合实际应用,不能滥用
3. 优点:
* 代码质量好 可靠性高。
* 复用代码。代码重用。
* 代码更规范,更容易被人理解
软件设计原则
1. 概念:
常见的设计模式
1. 单例模式
1. 概念:全局只有一个
* • 哪些场合需要用到单例? Servlet,ServletContext
2. 特点:
* 单例类只能有一个实例(包含自己的实例成员变量)
* 单例类必须自己创建自己的唯一实例。→构造方法私有0
* 单例类必须给所有其他对象提供这一实例。(提供获取自己实例的对象)
3. 实现
* 线程不安全的懒汉
* 线程安全的懒汉
* 线程安全的立即加载
* 线程安全的立即加载(变种)
* 线程安全的懒加载---静态内部类的实现
4. 优缺点:多线程下依然是单例,加锁会影响执行效率。
2. 工厂模式
1. 概念:在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。
2. 简单工程
* 给我需要使用的类的名字。简单工厂返回一个这种类实例。
3. 工厂方法模式:
* 创建一个工厂接口和创建多个工厂实现类
* 完全遵循开闭原则,不对任何已有的代码进行修改,直接新增一个类
3. 代理模式
1. 静态代理
2. 动态代理:在内存中形成代理类
* 实现步骤
1. 代理对象和真实对象实现相同的接口
2. 代理对象=Proxy.newProxyInstance();
3. 使用代理对象调用方法
4. 增强方法
* 增强方式
1. 增强参数列表
2. 增强返回值类型
3. 增强方法体执行逻辑
4. 建造者模式
1. 建造一个人
1. 首先建造一个head对象,art对象,leg对象,其中包含不同的参数
2. 在创建一个humen对象,包含head,art,leg,属性
3. 创建一个humenBudlier类进行赋值操作
3. 创建测试类,答应传递参数,打印humen,查看结果