まず第一に、これは非常に良いアイデアであり、「デザイン パターン アノテーション」ライブラリをグーグル検索したため、ここにたむろしているだけです。よし、これ見つけた!私はそれをチェックアウトし、すぐにフィードバックを返します。
すべての懐疑論者へ: 申し訳ありませんが、ほとんどの人はデザイン パターンのトピックについてあまり経験がありません。たとえば、2009 年 12 月 3 日 21:56 の Martin Harris の投稿 ...「例」をシンプルに保ちたいとのことは理解しています。しかし、それはデザイン パターンの意味でのビルダーではありません。
有用性がまったくわからない人にも同じことを言いたいです。設計パターンにおけるクラスの役割に関するクラスの関係がクラスに注釈付けされている場合、ジェネレーターを使用してボイラープレート コードを作成できます。ソース コード内のクラスの上にすべての関係が表示され、IDE ショートカットを使用して関連するクラスに移動できます。
パターンで考える方法を学び、すべてのパターンが (コメントまたは注釈を介して) ソース コードで明らかな場合は、200 クラスで構成されるシステムを 1 時間以内に把握できます。
@UsePattern() や @Builder("buildMethodName") などを使用するような提案について... ここで、「typesave」にする方法を尋ねなければなりませんか? 結局のところ、これらの文字列はタイプミスを起こしやすいです。
適切なアノテーションの利点の 1 つは、ロールにアノテーションを付けることができることです。ほとんどのデザイン パターンは、単一のクラス (Singleton など) からではなく、連携して動作する複数のクラスから構成されています! たとえば、ビルダーがある場合、(@Product で注釈が付けられた) 結果も @Composite になる可能性があります。そのため、ビルダーがまとめるパーツは、@Component (@Composite に関して) と @Part (@Builder および @Product に関して) になります。
おそらく、そのような注釈に対する最良の引数は java.lang.class でしょう。それを表現できます。
とにかく、ちょっと考えてみます...家に帰って、あなたが持っているもので遊ぶのが待ちきれません^^