黑马程序员——Java设计模式
2015-10-19 14:40
232 查看
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
一 .设计模式概述:
Java设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。
二. 设计模式分类:
共有23种设计模式:
创建型: Factory Method(工厂方法)、Abstract Factory(抽象工厂模式)、Builder(建造者模式)、
Prototype(原型模式)、 Singleton(单例模式)
结构型:Adapter Class/Object(适配器模式)、Bridge(桥接模式)、Composite(组合模式)、
Decorator(装饰模式)、 Facade(外观模式)、Flyweight(享元模式)、Proxy(代理模式)
行为型:Interpreter(解释器模式)、Template Method(模板方法)、 Chain of Responsibility(责任链模式)、
Command(命令模式)、Iterator(迭代器模式)、Mediator(中介者模式)、Memento(备忘录)、
Observer(观察者模式)、State(状态模式)、Strategy(策略模式)、Visitor(访问者模式)
三. 设计模式示例:
1. 单例模式:
class Singleton{
private static final EagerSingleton m_instance = new EagerSingleton();
private EagerSingleton(){}
public static EagerSingleton getInstance(){
return m_instance;
}
}
2.适配器模式:
public class Adapter implements Job {
Person person;
public Adapter(Person person) {
this.person = person;
}
public void speakEnglish() {
person.speakEnglish();
}
public void speakJapanese() {
person.speakJapanese();
}
//new add
public void speakFrench() {
}
}
一 .设计模式概述:
Java设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。
二. 设计模式分类:
共有23种设计模式:
创建型: Factory Method(工厂方法)、Abstract Factory(抽象工厂模式)、Builder(建造者模式)、
Prototype(原型模式)、 Singleton(单例模式)
结构型:Adapter Class/Object(适配器模式)、Bridge(桥接模式)、Composite(组合模式)、
Decorator(装饰模式)、 Facade(外观模式)、Flyweight(享元模式)、Proxy(代理模式)
行为型:Interpreter(解释器模式)、Template Method(模板方法)、 Chain of Responsibility(责任链模式)、
Command(命令模式)、Iterator(迭代器模式)、Mediator(中介者模式)、Memento(备忘录)、
Observer(观察者模式)、State(状态模式)、Strategy(策略模式)、Visitor(访问者模式)
三. 设计模式示例:
1. 单例模式:
class Singleton{
private static final EagerSingleton m_instance = new EagerSingleton();
private EagerSingleton(){}
public static EagerSingleton getInstance(){
return m_instance;
}
}
2.适配器模式:
public class Adapter implements Job {
Person person;
public Adapter(Person person) {
this.person = person;
}
public void speakEnglish() {
person.speakEnglish();
}
public void speakJapanese() {
person.speakJapanese();
}
//new add
public void speakFrench() {
}
}
相关文章推荐
- 黑马程序员——Java多线程
- 2015年腾讯暑期实习面试总结(技术岗)
- 分享8年开发经验,浅谈java程序员职业规划
- 黑马程序员——指针
- 黑马程序员——Java接口、类以及继承、实现
- 黑马程序员——分类与协议
- 黑马程序员——基础语法
- 黑马程序员——简单数据存储
- 黑马程序员——Java集合
- 程序员跳槽神级攻略
- 让程序员跳槽的非钱原因
- 论程序员实现功能开发
- 今天面试了一个刚毕业的学生
- 【.Net码农】修改WebBrowser控件的内核解决方案
- 百度前端面试记录
- 盘点国内程序员不常用的热门iOS第三方库
- android 面试知识点总结
- 不少程序员都会碰到的三个面试题
- 黑马程序员--Java学习日记之基础知识(思维导图&基础概念)
- 字符串笔试面试题