java设计模式--组合模式、适配器模式
以下是一个简单的适配器模式和组合模式的Java代码示例。
适配器模式(Adapter Pattern)示例:
// 目标接口
interface Target {
void specificRequest();
}
// 需要适配的类
class Adaptee {
public void specificRequest() {
System.out.println("Adaptee specificRequest()");
}
}
// 适配器类
class Adapter implements Target {
private Adaptee adaptee;
public Adapter(Adaptee adaptee) {
this.adaptee = adaptee;
}
@Override
public void specificRequest() {
adaptee.specificRequest();
}
}
// 客户端代码
public class Main {
public static void main(String[] args) {
Target target = new Adapter(new Adaptee());
target.specificRequest();
}
}
组合模式(Composite Pattern)示例:
// 组件接口
interface Component {
void operation();
}
// 叶子节点类
class Leaf implements Component {
public void operation() {
System.out.println("Leaf operation");
}
}
// 组合类
class Composite implements Component {
private List<Component> components = new ArrayList<>();
public void add(Component component) {
components.add(component);
}
public void remove(Component component) {
components.remove(component);
}
public void operation() {
for (Component component : components) {
component.operation();
}
}
}
// 客户端代码
public class Main {
public static void main(String[] args) {
Composite root = new Composite();
root.add(new Leaf());
root.add(new Leaf());
root.operation();
}
}
适配器模式用于将一个类的接口转换成客户端期望的另一个接口。组合模式用于表示部分以及整体的层次结构。这两种模式在设计模式中都有重要的地位,是面向对象设计原则的实践应用。
评论已关闭