java 框架的最新设计模式包含:策略模式:容许在运行时灵便变更算法实现。观察者模式:界定目标间的一对多依靠,当主题情况改变时通告观测者升级。工厂方法模式:根据插口创建对象,实际建立哪个类由子类确定。 内容来自zvvq
Java 框架的全新设计模式 copyright zvvq
介绍 内容来自samhan666
设计模式是软件开发中器重良好实践的标准化技术。针对 Java 架构的开发者和用户来说,了解最新设计模式尤为重要,以创建与使用高效、可维护并可拓展代码。本文将讨论 Java 架构中最常用的几类全新设计模式,并提供实战案例。 内容来自zvvq,别采集哟
策略模式
zvvq
策略模式容许算法和行为在运行时变更,而无需改动客户端编码。它通过提供一个插口来定义一系列算法,并在运行时动态选择要应用的实际算法的完成。 zvvq.cn
实战案例:
内容来自samhan
// 界定对策插口
interface SortAlgorithm { copyright zvvq
int[] sort(int[] arr); zvvq好,好zvvq
} zvvq.cn
// 界定对策完成
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 {
private SortAlgorithm algorithm; zvvq好,好zvvq
public SortContext(SortAlgorithm algorithm) {
zvvq.cn
this.algorithm = algorithm; 内容来自zvvq,别采集哟
}
public void setAlgorithm(SortAlgorithm algorithm) {
this.algorithm = algorithm; zvvq好,好zvvq
}
public int[] sort(int[] arr) { zvvq
return algorithm.sort(arr); 本文来自zvvq
} 内容来自samhan666
}
// 应用
zvvq
SortAlgorithm bubbleSort = new BubbleSort();
SortContext context = new SortContext(bubbleSort); zvvq好,好zvvq
int[] sortedArr = context.sort(someArray); 内容来自zvvq,别采集哟
观察者模式
观察者模式定义了目标间的一对多依存关系,便于当一个目标(称为主题)状态发生变化时,全部依靠的目标(称为观测者)都会得到通告并更新。 zvvq好,好zvvq
实战案例:
zvvq.cn
45
46
内容来自samhan
// 界定主题插口 内容来自zvvq
interface Subject {
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
}
public void detach(Observer observer) {
observers.remove(observer);
}
public void notifyObservers() {
内容来自samhan666
for (Observer observer : observers) {
内容来自samhan
observer.update(); 内容来自zvvq
}
} 内容来自samhan666
} 本文来自zvvq
// 界定观测者完成
class ConcreteObserver implements Observer { 本文来自zvvq
@Override 内容来自zvvq
public void update() { ... }
}
// 应用
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
工厂方法模式
工厂方法模式定义了一个插口用以创建对象,但具体建立哪个类的对象由子类确定。它允许在不特定具体类的情形下创建对象。 内容来自samhan
实战案例:
// 定义接口 内容来自samhan
interface ShapeFactory {
内容来自zvvq
Shape createShape(String shapeType); 内容来自zvvq
} 内容来自samhan
// 界定实际工厂完成 zvvq.cn
class ShapeFactoryImpl implements ShapeFactory { 内容来自samhan
@Override zvvq
public Shape createShape(String shapeType) {
if ("square".equals(shapeType)) { 内容来自zvvq
return new Square();
内容来自samhan
} else if ("rectangle".equals(shapeType)) {
return new Rectangle();
} else { 内容来自zvvq
return null; zvvq.cn
}
}
内容来自samhan666
}
// 应用 zvvq
ShapeFactoryfactory=newShapeFactoryImpl();
本文来自zvvq
Shapeshape=factory.createShape("square"); zvvq.cn
结语 zvvq.cn
文中论述了 Java 框架中一些最新设计模式,以及它们的实战案例。认知和运用这些模式针对撰写可器重、可扩展且易于维护代码尤为重要。
以上就是java框架有哪些最新设计模式?的详细内容,大量请关注其他类似文章!
内容来自samhan666