エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
「プログラマが知るべき97のこと」の31個目のエピソードは、カプセル化とドメインモデルに関する話です... 「プログラマが知るべき97のこと」の31個目のエピソードは、カプセル化とドメインモデルに関する話です。オブジェクト指向プログラミングの特徴といえば、継承・ポリモーフィズム・カプセル化の3点です。何れも効率良くプログラムを構成するための考え方であり、Javaを初めとしたオブジェクト指向言語では言語機能として提供されています。カプセル化を一言で言えば、情報を隠蔽することで外部に公開する範囲を限定し、内部的には修正の影響範囲を限定する効果を、外部的には内部仕様を意識する必要のないシンプルなAPIになる効果をもたらします*1。これはオブジェクト間の境界を定義する手法とも言えます。 このエピソードの初めの方では「クラス」に関するカプセル化について記述されています。クラスとは、状態と振る舞いを細かい単位でカプセル化したものです。そして、陥りがちな問題として「状態のみがカプセル化された」データクラス(レ