gpt4 book ai didi

java - 这是什么设计模式?打印PersonsOlderThan

转载 作者:行者123 更新时间:2023-11-29 08:37:04 24 4
gpt4 key购买 nike

我阅读了很多关于设计模式的内容,但我仍然难以确定何时必须使用它们。今天我正在阅读有关 lambda 的 oracle 文档,看到一个类“进化”并说“嘿,显然这里有一些解耦”。我认为这里有一个众所周知的模式,但不知 Prop 体是哪个。

我还有一个问题是,如果我不使用 SPRING,其中关于接口(interface)和实现的文件夹结构非常清晰,这将是 - 根据 goog 实践 - 我必须在其中创建接口(interface)的项目结构。

示例以此代码开始:

public static void printPersonsOlderThan(List<Person> roster, int age) {
for (Person p : roster) {
if (p.getAge() >= age) {
p.printPerson();
}
}
}

然后继续这个:

public static void printPersonsWithinAgeRange(
List<Person> roster, int low, int high) {
for (Person p : roster) {
if (low <= p.getAge() && p.getAge() < high) {
p.printPerson();
}
}
}

最后是这样的:

public static void printPersons(
List<Person> roster, CheckPerson tester) {
for (Person p : roster) {
if (tester.test(p)) {
p.printPerson();
}
}
}

创建了这个界面:

interface CheckPerson {
boolean test(Person p);
}

这是实现:

class CheckPersonEligibleForSelectiveService implements CheckPerson {
public boolean test(Person p) {
return p.gender == Person.Sex.MALE &&
p.getAge() >= 18 &&
p.getAge() <= 25;
}
}

最佳答案

关于java - 这是什么设计模式?打印PersonsOlderThan,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43264239/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com