タグ

2022年11月10日のブックマーク (3件)

  • 【SOLID原則】依存性逆転の原則 - DIP

    SOLID原則とは、ソフトウェア設計の5つの原則の頭字語を取ったものです。ソフトウェアをより理解しやすく、より柔軟に、よりメンテナナンス性の高いものにするために考案されました。 単一責任の原則(Single Responsibility Principle) オープン・クローズドの原則(Open/closed principle) リスコフの置換原則(Liskov substitution principle) インターフェース分離の原則(Interface segregation principle) 依存性逆転の原則(Dependency inversion principle) 今回はSOLID原則のひとつ、依存性逆転の原則についてです。 TSで書いたサンプルコードを載せますが、あくまで依存性逆転の原則を理解するためのサンプルとして見て頂ければと思います。 依存性逆転の原則 依存性逆

    【SOLID原則】依存性逆転の原則 - DIP
  • インターフェースと抽象クラスの使い分け、活用方法 - Qiita

    はじめに インターフェースとか抽象クラスとか、使い方をよく分かっていませんでした。 色々試行錯誤してみて、最近その恩恵というものが分かってきたので、自分なりの解釈を記そうと思います。 その考え方は正しい、間違っているとか是非コメントお待ちしております。 今回は言語はC#で書きます。 JavaPHPといった他のオブジェクト指向言語でも基は通じるのでパッと見わかるような内容になっていると思います。 最初にインターフェース、抽象メソッドについて概要。 その次に実際のコードとしてどう活用していくかを記していきます。 そもそもインターフェースとか抽象クラスってなんぞや まず、コードベースで見ていきます。

    インターフェースと抽象クラスの使い分け、活用方法 - Qiita
    ten-gallon-Mouse
    ten-gallon-Mouse 2022/11/10
    “インターフェースは外部向け、抽象クラスは内部向けといったイメージです。 どういったことかというと、C#(おそらく他言語でも)ではインターフェースでの定義ではアクセス修飾子が全てpublicに強制されます。”
  • クリーンアーキテクチャ完全に理解した

    clean_architecture.md 2020/5/31追記: 自分用のメモに書いていたつもりだったのですが、たくさんのスターを頂けてとても嬉しいです。 と同時に、書きかけで中途半端な状態のドキュメントをご覧いただくことになっており、大変心苦しく思っています。 このドキュメントを完成させるために、今後以下のような更新を予定しています。 TODO部分を埋める 書籍を基にした理論・原則パートと、実装例パートを分割 現在は4層のレイヤそれぞれごとに原則の確認→実装時の課題リスト→実装例という構成ですが、同じリポジトリへの言及箇所がバラバラになってしまう問題がありました。更新後は、実装時の課題リストを全て洗い出した後にまとめて実装を確認する構成とする予定です。 2021/1/22追記: パートの分割と、クリーンアーキテクチャという概念の定義について追記を行いました。大部分の実装例パートを中心

    クリーンアーキテクチャ完全に理解した
    ten-gallon-Mouse
    ten-gallon-Mouse 2022/11/10
    “ Case Output Port Flow of Controlを説明する際のOutput Dataの表現。 Output Data Output Boundaryへ渡す値。 Output Boundary Presenter(後述)のインターフェース。実装は下層レイヤーで行われる。 Repository Repository(後述)のインターフェース。Enterpri