ふらっと C#,C♯,C#(議論用) [無断転載禁止]©2ch.net (131レス)
ふらっと C#,C♯,C#(議論用) [無断転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1469538912/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
68: デフォルトの名無しさん [] 2021/03/28(日) 22:54:02.07 ID:AfIP7Kkq >>65-67 > 継承関係に関しては明確に必要な場合か > 事前のアーキテクチャ設計方針で決まってる場合以外には使わないかな これは明確な回答ですね。 つまり、例えば大学の学生証管理システムだとすると、Studentクラスで直にコーディングして、 後にアーキテクチャ設計方針がひっくり返されて「教授も身分証作ったから足してくれ」となった場合は Person→Student, Person→Professorのような継承関係にするわけですね。 それまでにStudentに直に結び付けて作ったメソッドなどは一部作り直しになりますが、そこは許容するスタイルですね。 > インターフェースに関しては依存性の方向を変えたかったり > 結合度を下げたかったりする明確な理由があれば良いと思う > あるライブラリを後で違うものに入れ替えられるように作っておきたい …と言われると、依存性は低い方が良いに決まっていますし、 あるライブラリを後で違うものに入れ替えられるように作っておいた方が良いに決まっていますよね? そして、未来は予測できないので、その工夫が後に活きてくるか無駄になるかは不明です。 つまり、 > 入れ替え可能にする手間や増加するコードの複雑性と > 呼び出し側の変更なく入れ替えが可能な柔軟性とのトレードオフ つまり、工数として、 入れ替え可能にする手間や増加するコードの複雑性 > 呼び出し側の変更なく入れ替えが可能な柔軟性 か 入れ替え可能にする手間や増加するコードの複雑性 < 呼び出し側の変更なく入れ替えが可能な柔軟性 かは不明です。 このトレードオフをどのように決めていますか? >>62-63さんは「今、不要な機能なら要らない」という指標を示して下さいました。 http://mevius.5ch.net/test/read.cgi/tech/1469538912/68
69: デフォルトの名無しさん [sage] 2021/03/29(月) 00:35:35.42 ID:kW6kUd5H >>68 >…と言われると、依存性は低い方が良いに決まっていますし、 >あるライブラリを後で違うものに入れ替えられるように作っておいた方が良いに決まっていますよね? 決まってないよ Rails使ってWebアプリ開発する場合ならActiveRecord以外のORMに入れ替えられるように作っておいたほうがいい? Rails以外のフレームワークに入れ替えられるように作っておいたほうがいい? JavaScriptでReact使う場合ならReact以外のフレームワークに呼び出し側の変更なく入れ替えられるように作っておいたほうがいい? jQueryやlodash使う場合は他のライブラリに入れ替えられるよう作っておいた方がいい? 状況に応じてどこまでを許容するかの線引きをするんだけどその線をどこに引くのかはケースバイケース 要件、組織、ライブラリの品質/将来性/安定性/重要性、変化の方向性などを総合的に判断することになる それと結合度を下げる方法はインターフェース以外にもある インターフェースでより重要になるのは依存性の方向 http://mevius.5ch.net/test/read.cgi/tech/1469538912/69
70: デフォルトの名無しさん [sage] 2021/03/29(月) 00:45:34.96 ID:kW6kUd5H >>68 >Person→Student, Person→Professorのような継承関係にするわけですね。 それは継承関係が明確に必要なケースじゃないから作らない http://mevius.5ch.net/test/read.cgi/tech/1469538912/70
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.011s