public interface Service {
void method1();
void method2();
}
public interface ServiceFactory {
Service getService();
}
public class Implementation1 implements Service {
@Override
public void method1() {
}
@Override
public void method2() {
}
public static ServiceFactory factory =
new ServiceFactory() {
@Override
public Service getService() {
return new Implementation1();
}
};
}
public class Implementation2 implements Service {
@Override
public void method1() {
}
@Override
public void method2() {
}
public static ServiceFactory factory =
new ServiceFactory() {
@Override
public Service getService() {
// TODO Auto-generated method stub
return new Implementation2();
}
};
}
public class Factories {
public static void serviceConsumer(ServiceFactory factory) {
Service s = factory.getService();
s.method1();
s.method2();
}
public static void main(String[] args) {
serviceConsumer(Implementation1.factory);
serviceConsumer(Implementation2.factory);
}
}
分享到:
相关推荐
java设计模式----抽象工厂模式,简单工厂模式代码 代码内部
抽象工厂模式是设计模式中的一种创建型模式,它提供了一个创建对象族的接口,而无需指定它们的具体类。在.NET开发中,这种模式常用于实现多数据库连接,比如连接到MySQL、SQL Server或Oracle等不同的数据库系统。...
工厂方法模式是设计模式中的经典之作,它通过封装创建细节,使得系统的对象创建更加灵活和可扩展。结合反射机制和配置文件的使用,这种模式能够更加动态地适应变化的需求,而无需修改现有的代码结构。在实际开发过程...
本资源“一例读懂设计模式-单例模式、简单工厂模式.zip”旨在帮助初学者通过实例深入理解这两种重要设计模式:单例模式和简单工厂模式。以下是关于这两个模式的详细讲解。 1. **单例模式**: 单例模式是一种限制类...
此外,书中还会深入探讨如何在Java中实现这些模式,包括如何利用Java的面向对象特性,如继承、封装和多态,以及如何利用接口、匿名内部类等特性来优化设计模式的应用。例如,Java的枚举类型可以方便地实现单例模式,...
简单工厂模式是软件设计模式中的一种,它属于创建型模式,旨在提供一个统一的接口,用来创建一组相关或相互依赖的对象。在这个例子中,我们关注的是如何使用C#语言实现这个模式,特别是在披萨店的场景下。 在披萨店...
- 抽象工厂模式(Abstract Factory):提供一个接口,用于创建相关或依赖对象的家族,而无需指定它们的具体类。 - 建造者模式(Builder):将复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示...
- 抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,无需指定它们的具体类。 - 建造者模式:将复杂对象的构建与其表示分离,使同样的构建过程能创建不同的表示。 - 原型模式:通过复制已有对象来创建...
内部类的应用场景广泛,如在设计模式中的单例模式、工厂模式,以及Swing组件的事件处理等。它们提供了更灵活的封装和访问控制,使得代码结构更加清晰,提高了代码的可读性和复用性。理解并熟练运用内部类,对于提升...
- 抽象工厂模式(Abstract Factory):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们的具体类。 - 构建者模式(Builder):将一个复杂对象的构建与其表示分离,使同样的构建过程可以创建不同的表示...
工厂模式是一种创建型设计模式,它提供了一个接口,用于创建对象,但允许子类决定实例化哪个类。这在C#中尤其有用,当需要动态地根据条件创建不同类型的对象时。 3. 抽象工厂模式(Abstract Factory): 抽象工厂...
2. 当你需要为库或框架提供扩展其内部组件的方法时,工厂模式可以提供一种标准的方式来创建和注入新的组件。 工厂模式的主要优点包括: 1. **解耦**:它将对象的创建与对象的使用分离,使得客户端代码不直接依赖于...
### 设计模式精解——GoF 23种设计模式解析及C++实现源码 #### 引言 设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。GoF(Gang of Four)所提出的23种设计模式,被认为是面向对象...
设计模式分为三大类:创建型模式、结构型模式和行为型模式。 #### 二、面向对象编程基础 面向对象编程(OOP)是一种流行的编程范式,它基于对象的概念,将数据和处理数据的方法捆绑在一起。面向对象编程具有四个核心...
- 抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们的具体类。 - 建造者模式:将复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。 - 原型模式:通过复制已有对象...
本篇将详细解析几种常见的设计模式,包括单例模式、工厂模式和命令模式。 首先,我们来看工厂方法模式。在软件开发中,经常遇到需要创建对象,但具体创建哪种类型的对象取决于特定条件的情况。工厂方法模式提供了一...
在本设计模式课程设计中,我们重点探讨了五个核心的设计模式:原型模式、单例模式、抽象工厂模式、代理模式和建造者模式。这些模式在Java编程中具有广泛的应用,能够帮助开发者创建更加灵活、可扩展和易于维护的代码...
【内部类】 内部类是Java中的一种...学习内部类和设计模式能够提高代码的复用性、可维护性和灵活性,是成为专业Java开发人员必备的知识点。通过深入理解和实践这些概念,可以编写出更加高效、易于理解和扩展的代码。
### 设计模式精解——GoF 23种设计模式解析及C++实现源码 #### 0. 引言 设计模式是软件工程领域的一个重要概念,它提供了一种解决常见问题的方法论。GoF(Gang of Four)所提出的23种设计模式被视为面向对象设计的...