public class ApplicationRunner {
private Application itsApplication = null;
public ApplicationRunner(Application app)
{
itsApplication = app;
}
public void run()
{
itsApplication.init();
itsApplication .idle();
itsApplication.cleanup();
}
}
public interface Application {
public void init();
public void idle();
public void cleanup();
}
public class ftocStrat implements Application {
//实现Application
new ApplicationRunner实例
}
1、单例模式 SINGLETON
Singleton类的实例不会超过一个。
实现:
public class Singleton {
private static Singleton theInstance = null;
private Singleton(){}
public static Singleton Instance() {
if(theInstance == null)
theInstance = new Singleton();
return theInstance;
}
}
2、MONOSTATE模式
实现:
Public class Monostate {
private static int itsX = 0;
public Monostate(){}
public void set(int x) {
itsX=x;
}
public int getX()
{ return itsX; }
}
3、NULL OBJECT模式
该模式通常会消除对null进行检查的需要,并且有助于代码简化。
实现:
public interface Employee {
public boolean isTimeToPlay(Date payDate);
public void pay();
public static final Employee NULL = new Employee()
{
public boolean isTimeToPay(Date payDate)
{
return false;
}
public void pay()
{
}
}
}
if(e == Employee.NULL)
4、模板方法模式
实现:
public abstract class Application {
private boolean isDone = false;
protected abstractca void init();
protected abstractca void idle();
protected abstractca void cleanup();
protected void setDone()
{
isDone = true;
}
protected boolean done()
{
return isDone;
}
public void run()
{
init();
idle();
cleanup();
}
} //子类实现
5、策略模式
public class ApplicationRunner
{
private Application itsApplication = null;
public ApplicationRunner(Application app)
{
itsApplication = app;
}
public void run()
{
itsApplication.init();
itsApplication .idle();
itsApplication.cleanup();
}
}
public interface Application {
public void init();
public void idle();
public void cleanup();
}
public class ftocStrat implements Application {
//实现Application
new ApplicationRunner实例
}
分享到:
相关推荐
混合设计模式是指在实际应用中,开发者可能需要将多种设计模式结合起来,以解决更复杂的问题。例如,在一个大型系统中,可能会同时使用工厂模式来创建对象,然后通过组合模式来组织这些对象,再利用策略模式来定义...
本系统基于六种设计模式,运用到的设计模式有备忘录模式,简单工厂模式,迭代器模式,状态模式,模版方法模式,单例模式。 具体实现过程、UML类图以及实现效果详见如下项目说明地址: ... 该系统为绘图系统,该系统通过...
运用到的设计模式有备忘录模式,迭代器模式,简单工厂模式,状态模式,模版方法模式,单例模式。 资源包含项目文件(eclipse)以及系统说明(docx文件),系统说明中说明了为什么要使用该模式,使用该模式有什么好处...
设计模式并不是具体的代码或库,而是一种通用解决方案的描述,可以在多种编程语言中应用。这个压缩包包含的《设计模式解析》和《Java设计模式》两本PDF文档,将深入探讨设计模式的理论和在Java编程中的实际应用。 ...
书中涵盖了多种设计模式,包括创建型、结构型和行为型模式,这些都是软件开发中不可或缺的工具,对于提升代码质量和可维护性至关重要。 设计模式是一种在特定情境下解决常见问题的经验总结,它提供了一套通用的解决...
由GoF(Gang of Four)所著的设计模式书籍,被视为面向对象设计领域的经典之作,其中详细介绍了多种设计模式,旨在帮助软件开发者构建出既解决问题又能适应未来需求变化的高质量系统。 #### 为什么需要设计模式? ...
本作业涵盖了多种设计模式,包括结构型、行为型和创建型模式,旨在帮助学习者深入理解和应用这些模式。 1. **外观(Facade)模式**:此模式提供了一个简单的接口,用于与复杂的子系统进行交互。它隐藏了子系统的...
设计模式并非具体的代码或库,而是一种通用解决方案的描述,可以在多种编程语言中复用。《设计模式》中文版是一本针对Java程序员的指南,详细讲解了全部23种设计模式,这些模式被归类为创建型、结构型和行为型三大...
C++支持多种面向对象特性,如类、继承、多态和模板,这使得它成为实现设计模式的理想选择。例如: 1. 单例模式:通过私有构造函数和静态成员实现,确保类只有一个实例。 2. 工厂方法模式:使用虚拟函数实现接口,让...
在实际应用中,往往需要综合运用多种设计模式来解决复杂问题。 由于提供的文件内容中重复包含了“更多资源请访问稀酷客(***)”这一句话,这可能是由于OCR扫描过程中的重复输出。为了维持文章的连贯性和专业性,我们...
### 设计模式:可复用面向对象软件的基础 #### 书籍概述 《设计模式:可复用面向对象软件的基础》是一本由Erich Gamma、Richard Helm等四位国际知名的软件工程师共同编写的经典之作,该书提供了面向对象软件设计中...
本书内容涵盖了多种设计模式的分类、定义、应用场景、优势与缺陷,以及具体的编程语言实现。现在我们将根据书籍目录和部分内容,详细阐述与设计模式相关的重要知识点。 首先,在第1章中介绍了设计模式的基本概念,...
在这个“设计模式大作业”中,我们可以看到涵盖了多种设计模式的实例和代码,包括“工厂模式”和“单例模式”,以及其他的经典设计模式。 1. **工厂模式**:这是创建型设计模式,它提供了一种创建对象的最佳方式。...
标题“23种设计模式项目代码”表明这是一份涵盖多种设计模式的实际代码实现,主要基于.NET平台。通过这份代码,开发者能够深入理解并实际运用这些模式,从而提高代码的可读性、可维护性和可扩展性。 描述中提到的...
项目涵盖了多种设计模式,包括创建型模式、结构型模式和行为型模式。通过实现这些设计模式,项目展示了如何在Java中应用这些模式来解决实际问题,提高代码的可维护性和可扩展性。 主要设计模式 创建型模式 工厂...
这个压缩包“设计模式所有代码”显然包含了多种设计模式的实现示例,对于学习和理解设计模式有着极大的帮助。下面我们将深入探讨设计模式的核心概念、分类以及每个类别中的代表模式。 设计模式分为三大类:创建型...
该书可能涵盖了多种设计模式,包括创建型、结构型和行为型三大类。创建型设计模式如单例模式、工厂方法模式、抽象工厂模式等,它们关注的是对象的创建过程,使得代码更加灵活,易于维护和扩展。结构型设计模式如...
备忘录模式是一种行为型设计模式,它捕获一个对象的内部状态,并允许该对象在以后恢复之前保存的状态。该模式提供了一种在不破坏封装性的前提下捕获一个对象内部状态的方法,使得对象可以在内部状态被更改之后恢复到...
这个压缩包“研磨设计模式全部源代码”包含了多种设计模式的实现,这些模式可以帮助开发者写出更可维护、可扩展和可复用的代码。下面将详细讲解其中可能包含的一些重要设计模式及其应用。 1. 工厂模式:这是最简单...