デザインパターン(シングルトン)の適用範囲 同一のアプリケーション内で統一する必要があるのか
はじめに
設計初心者です。
分かっていないこと
下記「参考」内の例における「シングルトン」をはじめとする、デザインパターンの適用範囲がわかりません。
「参考」のページには図書館の貸出名簿の話が掲載されています。この話自体はなんとなく理解できたのかなと思います。
では、ここをシングルトンで設計したらほかもシングルトンで統一する必要があるのか、それともデザインパターンはオブジェクトごと(もしくは他のなにかごと)に適用するものであって、アプリ内で統一する必要はないものなのか。これが分かりません。
不明ながらも現状で想像していること
現状の想像では、貸出名簿はシングルトン、ほかは○○といったようにオブジェクトごとにデザインパターンを適用でき、アプリ内にそれぞれ適材適所の形でデザインパターンが混在できるのでは?という想定をしています。(貸出名簿が1つしか生成できないからといって、貸出名簿のルールに縛られて他のオブジェクトが1つしか生成できなくなるなんてことはかなり不都合なので。例えばユーザーインスタンスの生成など…)だからアプリ全体として○○で作られているという言い方はあまりされず、この部分は○○パターンを利用、この部分は…という言い方になる。
教えていただきたいこと
まとめると、教えていただきたいことは以下になります。
- シングルトンを含むデザインパターンの適用範囲(区切り)はどこか。
- (1.を元に)アプリケーション内にデザインパターンが混在することは悪い設計にはならないのか。
- 主要なオブジェクト指向言語(JavaScriptやJava、C#等、GitHubのリポジトリ内の使用率10〜20位に入る程度を想定しています。)は上記 1. 2.におおよそ共通していると言えそうか
参考
以上です。
よろしくお願い致します。