黑马程序员——设计模式
来源:互联网 发布:移动硬盘分区隐藏软件 编辑:程序博客网 时间:2024/06/05 11:34
-----------
设计模式
1、单态设计模式 singleton pattern
整个程序中只能存在一个对象,这个类不能再创建第二个对象
步骤:(1)构造函数私有化
(2)在类的内部创建一个对象,用私有的静态成员变引用
(3)提供一个公有的静态的方法获取自己创建的对象
class Sun{
privatestatic Sun s = new Sun();
private Sun() { }
publicstatic Sun getSun() {
returns;
}
}
2、延迟加载的单例设计模式
用到对象时才创建对象,不用就不创建。即在调用get方法时才创建对象。
class Singleton {
privatestatic Singleton singleton;
privateSingleton() { //a. 私有化构造函数
}
pubicsynchronized static Singleton getSingleton() {
if(singleton != null)
singleton = new Singleton();
return singleton;
}
}
3、组合设计模式 composite pattern
在定义类A时,如果需要使用另外一个类B(被组合类型)的方法,就可以使用组合设计模式。举例:人(类Person)用卡(类Card)购物,需要在本类的shopping方法中使用Card类的spend方法。
步骤:(1)在类Person中定义一个类Card的成员变量: private Card card;
(2)通过类Person构造函数组合一个类Card的对象,用成员变量引用:
public Person(Card card){ this.card = card;}
(3)在本类的shopping方法中使用成员变量调用被组合对象的方法:
pubic void shopping() { card.spend(参数);}
组合设计模式与继承的区别:
(1)不占用继承的位置,当前类组合一个类后还能继承其他类。
(2)组合设计模式组合的类不能当做被组合的类使用。继承中子类可以当做父类来用。
4、模板设计模式 template pattern
在编程中如果经常要做一些类似的事情,其中有些步骤相同,有些步骤不同,就可以使用模板设计模式。
步骤:(1)定义一个抽象类;
(2)在抽象类中定义一个final方法,在方法中写出每次相同的步骤,调用(3)的抽象方法;
(3)将每次不同的步骤写在一个抽象方法中;
(4)每次实现不同的步骤时,定义子类继承抽象类,重写抽象方法即可,相同的步骤无需重写,直接调用final方法即可。
-----------
- 黑马程序员—— 装饰设计模式
- 黑马程序员——设计模式
- 黑马程序员——设计模式
- 黑马程序员——设计模式
- 黑马程序员——设计模式
- 黑马程序员——设计模式
- 黑马程序员 —— 装饰设计模式
- 黑马程序员——设计模式
- 黑马程序员——设计模式总览
- 黑马程序员——java设计模式
- 黑马程序员——装饰设计模式
- 黑马程序员——设计模式
- 黑马程序员——设计模式
- 黑马程序员——设计模式
- 黑马程序员——Java设计模式
- 黑马程序员—2个设计模式
- 黑马程序员—单例设计模式
- 黑马程序员—单例设计模式
- 黑马程序员——String类
- USACO Preface Numbering
- 黑马程序员——多线程
- Windows建立隐藏用户
- 黑马程序员——集合
- 黑马程序员——设计模式
- 黑马程序员——iO流(1)
- 黑马程序员——iO流(2)
- 黑马程序员——Css
- freemarker 数字格式化处理
- 如何在Eclipse中配置Tomcat
- Tomcat配置
- Saxon CE Example
- C语言和设计模式