Code Smell 40 — DTO

DTO は広く使用されており、実際の問題を「解決」していますね。

問題

  • 貧血オブジェクト
  • 一貫性のないデータ
  • 重複したロジック
  • 重複構造
  • クラス汚染
  • 情報隠蔽違反
  • ミューテーター、アクセサー、シリアライザー、パーサーの間で繰り返されるコード
  • 波及効果
  • データの整合性
  1. アレイ上の貧血データを転送します。
  2. 実際のビジネス オブジェクトを使用します。
  3. 部分的なオブジェクトを転送したい場合: プロキシまたは null オブジェクトを使用して参照グラフを壊します。

違う

右

検出

同じ貧血オブジェクト検出器を使用できます。

ビジネス オブジェクトの動作がない貧血クラスをチェックできます (シリアル化、コンストラクター、ミューテーターなどの削除)。

タグ

  • 貧血

DTO はツールであり、一部の言語では確立されたプラクティスです。注意と責任を持って使用する必要があります。

オブジェクトを領域から遠ざけるためにオブジェクトを分解する必要がある場合は、非常に注意する必要があります。解体されたオブジェクトには整合性に関する考慮事項がないためです。

彼の著者は、実際の乱用について警告しています。

関係

Code Smell 01 — 貧血モデル Code Smell 13 — 空のコンストラクタ Code Smell 20 — 時期尚早の最適化 Code Smell 28 — セッター

より詳しい情報

最高の匂いとは、簡単に見つけられるものであり、ほとんどの場合、非常に興味深い問題につながります。データ クラス (すべてのデータを持ち、動作を持たないクラス) は、この良い例です。あなたはそれらを見て、このクラスでどのような振る舞いをすべきかを自問します。

マーティン・ファウラー

ソフトウェアエンジニアリングの名言

この記事は CodeSmell シリーズの一部です。

コードの臭い部分を見つける方法

提案された投稿

ネットワークテレビツイッター

ネットワークテレビツイッター

古いものは再び新しくなり、以前はキラキラ輝いていたものがくすんで見えます。私は、JNCO ジーンズが 1990 年代後半の他のファッションとともにダウンタウンのクールな子供たちの間で復活したことについて話しているのではありません。

カウボーイの嘘

巨大企業はいかにしてアメリカ国民にひどい嘘を売ったのか

カウボーイの嘘

西のなだらかな丘陵地帯では、太陽の最初の光が平原の曇った草を照らす、まばゆいばかりの金色の朝です。真っ黒で巨大な穏やかなアンガス牛の群れが日の出を背景にシルエットを描き、誰もがよく知っている場所へ人里離れた道を進んでいます。朝食バー。

関連記事

ドメイン名に関する情報の検索

Brian P. Hogan 著『Small, Sharp Software Tools』からの抜粋

ドメイン名に関する情報の検索

facebook.com にリクエストを送信すると、コンピュータはドメイン名を検索してそのドメイン名を IP アドレスに変換し、コンピュータが接続できるようにします。

その脅威アーカイブ: Vol 7 ブラックバスタ

その脅威アーカイブ: Vol 7 ブラックバスタ

今日の相互接続された世界では、サイバー攻撃の脅威がかつてないほど蔓延しています。サイバー犯罪者や国家主体は常に脆弱性を悪用して貴重なデータを盗もうとしており、あらゆる規模の組織に重大なリスクをもたらしています。

無限の命

大人になると、世界はそういうもので、あなたの人生はただ世界の中で生きていくだけで、決して命を危険にさらすことはなく、決められた道をたどって最後には死ぬだけで、失敗しないように努めるのだと言われがちです。壁を打ちすぎてはいけません。しかし、それは非常に限られた人生です。

お子様向けの初めてのハイになる本

お子様向けの初めてのハイになる本

(警告 - これは風刺であり、大喜びで破壊的な意図があります - 絶対に子供向けではありません) あなたは、お母さんとお父さんがキッチンに隠れて臭いタバコを吸っているのを見たことがあるでしょう。彼らはあなたに言います。