[解決済み】アンチパターンとは何ですか?
2022-04-03 17:37:49
質問
パターンとアンチパターンを勉強しています。パターンについては明確に理解しているのですが、アンチパターンについては理解できていません。ウェブやウィキペディアの定義は私を大いに混乱させる。
アンチパターンとは何か、誰かわかりやすく説明してください。目的は何なのか?彼らは何をするのでしょうか?悪いことなのか、良いことなのか?
どのように解決するのか?
アンチパターン とは、ソフトウェア開発において、プログラミングの悪習慣とみなされる特定のパターンのことです。
とは対照的に デザインパターン アンチパターンは、一般的な問題に対する共通のアプローチで、形式化されており、一般的に良い開発手法と考えられていますが、アンチパターンはその逆で、好ましくはありません。
例えば、オブジェクト指向プログラミングでは、ソフトウェアをオブジェクトと呼ばれる小さな部品に分離する考え方があります。オブジェクト指向プログラミングにおけるアンチパターンは 神オブジェクト のような、別のオブジェクトに分離した方がよい機能をたくさん持っているものです。
例えば
class GodObject {
function PerformInitialization() {}
function ReadFromFile() {}
function WriteToFile() {}
function DisplayToScreen() {}
function PerformCalculation() {}
function ValidateInput() {}
// and so on... //
}
上記の例では、以下のようなオブジェクトがあります。 すべて . オブジェクト指向プログラミングでは、コードの結合を少なくし、最終的に保守性を高めるために、異なるオブジェクトに対して明確に定義された責任を持つことが望ましいとされています。
class FileInputOutput {
function ReadFromFile() {}
function WriteToFile() {}
}
class UserInputOutput {
function DisplayToScreen() {}
function ValidateInput() {}
}
class Logic {
function PerformInitialization() {}
function PerformCalculation() {}
}
要するに、よく使われるパターンを使ってソフトウェアを開発する良い方法があるのです( デザインパターン しかし、ソフトウェアには問題を引き起こす可能性のある開発方法と実装方法があります。悪いソフトウェア開発手法とされるパターンはアンチパターンです。
関連
-
[解決済み] リフレクションとは何か、なぜ有用なのか?
-
[解決済み] JSONPとは何か、なぜ作られたのか?
-
[解決済み] MVPとMVC、その違いは何ですか?
-
[解決済み] Inversion of Controlとは?
-
[解決済み] 静的クラスとシングルトンパターンの違い?
-
[解決済み] デザインパターンについて。シングルトンはいつ使うべきですか?
-
[解決済み】C言語の「static」関数とは?
-
[解決済み] Observerデザインパターンと "Listeners "の比較
-
[解決済み] ソーシャルネットワークにアクティビティストリームを実装する方法
-
[解決済み] デザインパターン 抽象ファクトリーとファクトリーメソッド
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] シングルトン・パターンの欠点やデメリットは何ですか?[クローズド]
-
[解決済み] アグリゲート・ルートって何?
-
[解決済み】クラスの命名 - すべてを"<WhatEver>Manager "と呼ぶのを避けるには?[クローズド]
-
[解決済み】Proxy、Decorator、Adapter、Bridgeの各パターンの違いとは?
-
[解決済み】インターフェイスを作成するタイミングはどのように判断するのでしょうか?
-
[解決済み】ファサードデザインパターンとは何ですか?
-
[解決済み] [Builder Design パターンと Factory Design パターンの違いは何ですか?[クローズド]。
-
[解決済み] ブリッジパターンはどのようなときに使うのですか?Adapterパターンとどう違う?
-
[解決済み] ServiceLocatorはアンチパターンか?
-
[解決済み] FacadeパターンとAdapterパターンの違いは何ですか?