私はデザインパターンについて多くのことを読んでいますが、私はそれらを使用する必要があるときにはまだ難しいと認識しています。今日、ラムダに関するオラクルのドキュメントを読んで、クラス「進化」を見て、「ねえ、ここにはいくつかのデカップリングがあります」と言いました。私はここによく知られているパターンがあると思うが、正確にはわからない。デザインパターンはこれですか?
また、私はSPRINGを使用していない場合、インターフェイスと実装についてのフォルダ構造が非常に明確で、goog practices-私はインターフェイスを作成する必要があるプロジェクト構造になります。
の例では、このコードを開始しました:
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();
}
}
}
:
をそして、これが実現した:
class CheckPersonEligibleForSelectiveService implements CheckPerson {
public boolean test(Person p) {
return p.gender == Person.Sex.MALE &&
p.getAge() >= 18 &&
p.getAge() <= 25;
}
}
正確にここでの質問は何ですか? –
ここにデザインパターンがありますか?はいの場合...どちらかというと? – sebasm