タグ

2023年12月8日のブックマーク (3件)

  • 結局のところgetter/setterは要るのか?要らないのか? - Qiita

    Javaを勉強するに当たって表題通りの疑問が湧いたので、色々と調べました。 getter/setterが必要とされる理由に関しては各所で散々解説されているので、"不要派"の意見を重点的にまとめています。 まずオブジェクト指向プログラミングの定石 フィールド=private、メソッド=public フィールドを操作するためにgetterメソッドとsetterメソッドを用意する = カプセル化である。 カプセル化が好まれる理由 メンバ変数のアクセス制御ができるようになる クラス内部のデータ表現を変えた場合でも呼び出し側のコードを変更する必要がない メンバ変数の参照や変更を追跡することができる 値の正当性チェックを入れることができる オブジェクト指向とはそういうものである。 オブジェクト指向プログラムでgetter/setterメソッドを使わなければならない10の理由 プロパティについて C#や

    結局のところgetter/setterは要るのか?要らないのか? - Qiita
  • デメテルの法則を厳密に守るにはどうすればいいの? - Qiita

    概要 デメテルの法則(最小知識の原則)を厳密に守ろうとするのってすごく難しいよねってお話です。 色々書いて「この方がいいのでは」というのを最後のほうにも書きましたが、そのやり方が正しいのかわからない・・・誰か教えて(´・ω・`) シミュレーション この投稿では以下の実装をしようとしているという前提で話を進めていきます。 関わっているクラス User :あるアプリケーションのユーザーを表現しているクラス BasicInfo :ユーザーの基情報(アドレスとか名前とかがあるイメージ) Configuration :ユーザーが設定した情報 Addon :アドオンを有効にしてるかどうか、みたいな感じ UserService : Userに関してのビジネスロジックを扱うクラス クラスの関係 やろうとしていること UserService内でユーザー設定の「Addon」が有効かどうかを確認し、有効ならA

    デメテルの法則を厳密に守るにはどうすればいいの? - Qiita
  • 新人プログラマ アンチパターン:原理原則多すぎて脳みそOOMエラー - Qiita

    この記事で伝えたいこと(忙しい人向け) 新人ほど「保守していく」ことの感覚が腹落ちしにくいのではないか説 我々は保守しやすいコードを書くべきであり、保守しやすいコードを達成するための手段として原理原則やデザインパターンが存在している 保守ってなんで必要なんだっけ?という体系的な理解を持ったうえで、具体的なテクニックを学んでいくことが大事 // 追記(2023/12/9) なんとミノ駆動 さんにコメントいただけました。 もちろん良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方は読んで影響を受けてます。 とってもうれしい。 想定読者 新卒 ~ 2年目くらいまでのプログラミング初心者 Webアプリの保守開発をしているエンジニア 3ヶ月前くらいの自分(未経験からエンジニアになって1年くらい) こんなことないでしょうか 先輩などから原理原則の観点を共有してもらったり、

    新人プログラマ アンチパターン:原理原則多すぎて脳みそOOMエラー - Qiita