2021-02-10

依存性逆転の法則理解した気がする

抽象依存するってことなんだよね。発想が抽象的でむずかしい。

以下に示すbeforeコード欠点は、IOに関係する部分とビジネスロジック(誇張)が密結合していることで、このメソッドを変更する理由複数存在している点である。(単一責任原則違反)

変更理由は、IOにnullが入ってくることを考慮するとか、暗号化アルゴリズムを変更するあたりがぱっと浮かんだ。

afterのコードは、readerwriter引数から受け取れるようになっていて、インターフェース依存するようになって、単一責任原則を守るようになった。

```

# before

def encrypt

while char = readChar do

writeChar(trunslate(char))

end

end

# after

def enctypt(reader, writer)

while char = reader.read do

writer.write(trunslate(cahr))

end

end

```

まとめ

インターフェース依存していこうな。

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん