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