質問の前提
結城著「Java言語で学ぶデザインパターン入門(増補改訂版)」(以下、当該書籍)にて、デザインパータンを勉強しています。
(新刊の第3版はこちら)
第2章 Adaperバターン(当該書籍 p17 継承を使ったもの)に以下のようなクラスが記載されています。
さて、Mainクラスのソースコードをみると、PrintBannerクラスのインスタンスをnew(生成)しています。(Mainクラスのソースコートを次に示します。)
Java
1public class Main{ 2 public static void main(String[] args){ 3 Print p = new PrintBanner("Hello"); // <====ここ 4 p.printWeak(); 5 p.printStrong(); 6 } 7}
質問
MainクラスがPrintBannerクラスのインスタンスを生成しているならば、クラス図は、次のようにMainクラスからPrintBannerクラスに向かって赤色で示した ”Createの関連線” が引かれるべきではないでしょうか?
MainクラスがPrintインタフェースを使う(Uses)ためには、当然Printインタフェースを実装したPrintBannerクラスのインスタンスを生成(new)しなければならないから、敢えて記述しなくてもいいから、描かないものなのでしょうか。(UMLのクラス図考え方の中で、 ”使う(uses)” には、生成(Creates)するも含まれているのでしょうか?)
以前デザインパターンの別の質問に対する回答で、「デザインパターンの本質的な関係」と言うことを教えていただいたのですかが、これもやはり「デザインパターンの本質的な関係」と言うことで、MainクラスとPrintインタフェースが結ばれていれば、Printインターフェースの実装であるPrintBannerクラスは直接結ぶ必要はないということでしょうか?
お手数をお掛けしますが、ご教示の程、よろしくお願いします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/10/05 10:27