タグ

ブックマーク / zenn.dev/chida (3)

  • 【TypeScript】初歩的だけど忘れがちな構文

    TypeScriptの基的な所は知っているけど、「あれの呼び方何って言うんだっけ?」とか「interfaceとtypeって何が違うんだっけ?」となりがちなので、その辺りをまとめてみました。 1. 基 覚えておきたいTSの基的な構文や型 インデックスシグネチャ [key: T]: Uという構文をインデックスシグネチャを呼びます。インデックスシグネチャのキーの型(T)は、numberかstringのどちらかでなければいけません。 interface NumberList { [key: number]: string } const a: NumberList = { 1: 'one', 2: 'tow' } a[3] = 'three' console.log(a) // { "1": "one", "2": "tow", "3": "three"}

    【TypeScript】初歩的だけど忘れがちな構文
  • 【SOLID原則】依存性逆転の原則 - DIP

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

    【SOLID原則】依存性逆転の原則 - DIP
  • 【DDD】値オブジェクト - Value Object

    値オブジェクトとは 業務で使う単位で値のルールをクラスとして表現したものです。例えば年齢は通常、number型のようなプリミティブな値で表現されることが多いですが、値オブジェクトではarg型として業務で扱う単位の型で表現します。 書籍「実践ドメイン駆動設計」[1]では、値オブジェクトの特徴について、このように書かれています。 ドメイン内の何かを計測したり定量化したり説明したりする 状態を不変に保つことができる 関連する属性を不可欠な単位として組み合わせることで、概念的な統一体を形成する 計測値や説明が変わったときには、全体を完全に置き換えられる 値が等しいかどうかを、他と比較できる 協力関係にあるその他の概念に「副作用のない振る舞い」を提供する 次のサンプルコードを見て、特徴と照らし合わせながら確認していきます。 /** * 預けているお金の操作を行うクラス */ class Balanc

    【DDD】値オブジェクト - Value Object
  • 1