zvvq技术分享网

java框架有哪些最新的设计模式?(java框架有哪些

作者:zvvq博客网
导读java 框架的最新设计模式包括:策略模式:允许在运行时灵活更改算法实现。观察者模式:定义对象间的一对多依赖,当主题状态改变时通知观察者更新。工厂方法模式:通过接口创建

java 框架的最新设计模式包含:策略模式:容许在运行时灵便变更算法实现。观察者模式:界定目标间的一对多依靠,当主题情况改变时通告观测者升级。工厂方法模式:根据插口创建对象,实际建立哪个类由子类确定。 内容来自zvvq

本文来自zvvq

Java 框架的全新设计模式 copyright zvvq

介绍 内容来自samhan666

设计模式是软件开发中器重良好实践的标准化技术。针对 Java 架构的开发者和用户来说,了解最新设计模式尤为重要,以创建与使用高效、可维护并可拓展代码。本文将讨论 Java 架构中最常用的几类全新设计模式,并提供实战案例。 内容来自zvvq,别采集哟

策略模式

zvvq

策略模式容许算法和行为在运行时变更,而无需改动客户端编码。它通过提供一个插口来定义一系列算法,并在运行时动态选择要应用的实际算法的完成。 zvvq.cn

实战案例:

内容来自samhan

// 界定对策插口

zvvq.cn

interface SortAlgorithm { copyright zvvq

int[] sort(int[] arr); zvvq好,好zvvq

} zvvq.cn

// 界定对策完成

本文来自zvvq

class BubbleSort implements SortAlgorithm {

内容来自zvvq,别采集哟

@Override

内容来自zvvq

public int[] sort(int[] arr) { ... }

zvvq好,好zvvq

}

copyright zvvq

class QuickSort implements SortAlgorithm { 内容来自samhan666

@Override 内容来自zvvq,别采集哟

public int[] sort(int[] arr) { ... } 内容来自zvvq,别采集哟

}

内容来自samhan

// 对策前后文 内容来自samhan666

class SortContext {

zvvq好,好zvvq

private SortAlgorithm algorithm; zvvq好,好zvvq

public SortContext(SortAlgorithm algorithm) {

zvvq.cn

this.algorithm = algorithm; 内容来自zvvq,别采集哟

}

copyright zvvq

public void setAlgorithm(SortAlgorithm algorithm) {

本文来自zvvq

this.algorithm = algorithm; zvvq好,好zvvq

}

zvvq

public int[] sort(int[] arr) { zvvq

return algorithm.sort(arr); 本文来自zvvq

} 内容来自samhan666

}

内容来自zvvq,别采集哟

// 应用

zvvq

SortAlgorithm bubbleSort = new BubbleSort();

内容来自zvvq,别采集哟

SortContext context = new SortContext(bubbleSort); zvvq好,好zvvq

int[] sortedArr = context.sort(someArray); 内容来自zvvq,别采集哟

观察者模式

zvvq

观察者模式定义了目标间的一对多依存关系,便于当一个目标(称为主题)状态发生变化时,全部依靠的目标(称为观测者)都会得到通告并更新。 zvvq好,好zvvq

实战案例:

zvvq.cn

45

zvvq好,好zvvq

46

内容来自samhan

// 界定主题插口 内容来自zvvq

interface Subject {

zvvq

void attach(Observer observer); 内容来自zvvq,别采集哟

void detach(Observer observer); zvvq好,好zvvq

void notifyObservers(); 内容来自samhan

}

copyright zvvq

// 界定观测者插口 zvvq

interface Observer { 内容来自samhan

void update(); copyright zvvq

}

内容来自zvvq,别采集哟

// 界定主题完成 copyright zvvq

class ConcreteSubject implements Subject { copyright zvvq

private List observers = new ArrayList<>();

内容来自samhan

public void attach(Observer observer) { zvvq.cn

observers.add(observer); 内容来自samhan666

}

zvvq

public void detach(Observer observer) {

内容来自zvvq

observers.remove(observer);

内容来自zvvq,别采集哟

}

zvvq好,好zvvq

public void notifyObservers() {

内容来自samhan666

for (Observer observer : observers) {

内容来自samhan

observer.update(); 内容来自zvvq

}

内容来自samhan666

} 内容来自samhan666

} 本文来自zvvq

// 界定观测者完成

内容来自samhan666

class ConcreteObserver implements Observer { 本文来自zvvq

@Override 内容来自zvvq

public void update() { ... }

copyright zvvq

}

内容来自zvvq

// 应用

zvvq.cn

ConcreteSubject subject = new ConcreteSubject(); 内容来自zvvq

ConcreteObserver observer1 = new ConcreteObserver(); zvvq好,好zvvq

ConcreteObserver observer2 = new ConcreteObserver(); copyright zvvq

subject.attach(observer1); zvvq.cn

subject.attach(observer2); 本文来自zvvq

subject.someMethod(); // 通告观测者 内容来自zvvq

工厂方法模式

内容来自zvvq

工厂方法模式定义了一个插口用以创建对象,但具体建立哪个类的对象由子类确定。它允许在不特定具体类的情形下创建对象。 内容来自samhan

实战案例:

copyright zvvq

// 定义接口 内容来自samhan

interface ShapeFactory {

内容来自zvvq

Shape createShape(String shapeType); 内容来自zvvq

} 内容来自samhan

// 界定实际工厂完成 zvvq.cn

class ShapeFactoryImpl implements ShapeFactory { 内容来自samhan

@Override zvvq

public Shape createShape(String shapeType) {

zvvq

if ("square".equals(shapeType)) { 内容来自zvvq

return new Square();

内容来自samhan

} else if ("rectangle".equals(shapeType)) {

内容来自samhan

return new Rectangle();

zvvq

} else { 内容来自zvvq

return null; zvvq.cn

}

本文来自zvvq

}

内容来自samhan666

}

内容来自samhan

// 应用 zvvq

ShapeFactoryfactory=newShapeFactoryImpl();

本文来自zvvq

Shapeshape=factory.createShape("square"); zvvq.cn

结语 zvvq.cn

文中论述了 Java 框架中一些最新设计模式,以及它们的实战案例。认知和运用这些模式针对撰写可器重、可扩展且易于维护代码尤为重要。

本文来自zvvq

以上就是java框架有哪些最新设计模式?的详细内容,大量请关注其他类似文章!

内容来自samhan666