C#, C♯, C#相談室 Part98 (518レス)
上下前次1-新
221: (ワッチョイ df2b-2fXw) 2024/12/12(木)22:49 ID:cbjQHW3y0(2/3) AAS
そもそも
そんな鳥のプログラムなんか一般的じゃねーし
222: (ワッチョイ 474b-Ahcx) 2024/12/12(木)22:59 ID:m/Fq7DtI0(4/4) AAS
>>220
「クライアントが『泳ぐ、飛ぶ、もしくは走る動物』として使うことを想定するのなら、そのインターフェースであるIAnimalにその情報を含めるのは適切」ということですかね
class Penguin としては Fly や Run などのメソッドの実装はノイズに思えるけど、IAnimalとして使われるなら、その契約に従えという感じかな
(それだと後から「道具を使う」がIAnimalに追加された際に Penguine もメソッド追加が必要で、そこがモヤモヤしてる)
こういう場合にアダプタ (ラッパー?) を使うのって適切?
純粋に Penguine としての機能を提供するクラスと、それを IAnimal として使うためのアダプタみたいなの
それだと更に複雑さを増すだけ?
OOP難しい……
223: (ワッチョイ df2b-2fXw) 2024/12/12(木)23:02 ID:cbjQHW3y0(3/3) AAS
適切とか
とりあえず作ればよくね?
適切かどうかなんてエグゼにしたら関係なくね?
それとも論点だけ考えて実際のプログラム作らないの?
それ何したいの
224: (ワッチョイ df6a-B4jd) 2024/12/12(木)23:31 ID:RbZTiiBk0(1) AAS
例が不適切だから混乱してるだけにしか見えないなぁ
225: (ワッチョイ ff70-Ahcx) 2024/12/12(木)23:50 ID:cAk5An+50(1) AAS
SOLIDが現実のコードで使われなかったり、「オブジェクト指向は問題を複雑にするだけ」みたいなことを言われる原因
226: (ワッチョイ 6714-oAsD) 2024/12/13(金)01:16 ID:sFncMVeV0(1) AAS
>>203
インターフェース分離の原則は「クラスが必要としないメソッドを実装しない」ってだけ
ペンギンのような飛べない鳥が IFlyable を実装しないのは正しい
あとは「飛べる鳥」をインターフェースで分かるようにしてやればいい
isを使う羽目になったのは飛べるかどうかわからない IBirdをListにしてるから
---
interface IBird { string Name { get; } }
interface IFlyable : IBird { void Fly(); }
// ペンギンは飛べない
class Penguin : IBird {
public string Name => "Penguin";
}
// ワシは飛べる
class Eagle : IFlyable {
public string Name => "Eagle";
public void Fly() => Console.WriteLine($"{Name} is flying!");
}
// 飛べる鳥だけを扱うリストを作る
List<IFlyable> flyableBirds = new List<IFlyable> { new Eagle() };
foreach (var bird in flyableBirds) {
bird.Fly(); // 明示的に飛べる鳥しか扱わない
}
227: (ワッチョイ e701-5/pq) 2024/12/13(金)01:54 ID:aJRVKPMX0(1) AAS
こいつら病気なんか
228: (ワッチョイ df2b-2fXw) 2024/12/13(金)01:55 ID:0Vp4NoOf0(1) AAS
だね
229: (ワッチョイ 7f10-InQL) 2024/12/13(金)06:18 ID:ooVm180t0(1) AAS
SOLIDにしても所詮理想論であって現場に即してるわけじゃないしなぁ
230: (ブーイモ MMff-RQnm) 2024/12/13(金)07:39 ID:WeveN3pQM(1) AAS
せやな
231: (ワッチョイ 27a0-tB0+) 2024/12/13(金)17:30 ID:LAtQrsJV0(1) AAS
サイコパスの脳の違いを発見。一般の人に比べ線条体が大きいことが判明
karapaia.com/archives/52313287.html
232: (スププ Sdff-AHQg) 2024/12/13(金)20:28 ID:DLDRNjlrd(1) AAS
関数型がいいんだね!
233: (ワッチョイ 7f6e-VwYf) 2024/12/14(土)09:23 ID:9hmM95L70(1) AAS
後から増えた「道具を使う」には何かいい感じにデフォルト実装つけとけば既存のクラスには影響しないんじゃない
234: (ワッチョイ bfe7-AHQg) 2024/12/14(土)12:26 ID:vNNE6Utb0(1) AAS
それを派生というのでは?
235: (ワッチョイ 4783-Ahcx) 2024/12/14(土)12:52 ID:/3oGIJ400(1) AAS
C# 8 からはインターフェースのデフォルト実装が使える
236(1): (ワッチョイ bf79-/9Tr) 2024/12/14(土)14:27 ID:TQJHLK8K0(1) AAS
Win10や11のOS付属のpowershell5.1でインラインで書けるC#ってバージョンちょっと古くね
できれば新しいRoslynのC#をpowershellから使いたいのだが
なんか昔の記事しか見つからん
237: (ワッチョイ bf19-xj7L) 2024/12/14(土)15:05 ID:uE892PPx0(1) AAS
どうせ別に入れる必要があるならPowerShell 7入れれば良くね
238(1): (ワッチョイ a78e-4Hmg) 2024/12/14(土)16:09 ID:SXm2TFHi0(1) AAS
>>236
起動時に出て来るメッセージすら読めないのか
239(2): (ワッチョイ 2679-qWVo) 2024/12/15(日)03:52 ID:c6iml+qS0(1) AAS
>>238
お前はこれでも読んどけ
外部リンク[4]:learn.microsoft.com
Roslyn単体で使うだけならビルドツール拾ってくるだけだが
Powershell上げるとなると仕様も大幅に変わってたりして無理だし俺が出した要件の解にもなってない
240: (ワッチョイ db8e-Dyog) 2024/12/15(日)04:43 ID:OuaeEhke0(1) AAS
>>239
馬鹿が必死に調べただけの浅い知識で言い訳してる
241: (オイコラミネオ MM8f-Xxs2) 2024/12/15(日)09:22 ID:6s9C3wLNM(1) AAS
今のところ互換性の為に残してあるんだろう
それを変えちゃうと問題が起こる可能性があるしMS側のメンテがめんどうなので
変えたい人は7とセットで入れろということなんだろう
242(1): (ワッチョイ fa12-/DxF) 2024/12/15(日)13:32 ID:1H80RXIX0(1) AAS
>>239
バカの相手はしなくていいわ
その情報はありがたいが
243: (ワッチョイ fb50-Nme3) 2024/12/16(月)00:02 ID:jraeIOUM0(1) AAS
PowerShellは完全に袋小路だからもう諦めた方がいい
6以降は事実上Azure専用
244: (ワッチョイ db8e-Dyog) 2024/12/16(月)03:32 ID:B9vFRMjT0(1) AAS
>>242
うわっ
自分の言い訳コメントに自作自演で恥ずかしい馬鹿発見
245(1): (ワッチョイ 7e90-3k2I) 2024/12/16(月)04:36 ID:M2IkaScH0(1) AAS
なんで作っては捨ててくスタイルなんかなMicrosoftは
246: (ワッチョイ 4a2b-bCeE) 2024/12/16(月)06:57 ID:xj9X4IbW0(1) AAS
作ってないやろ
買収してるだけ
247: (ワッチョイ be10-Xxs2) 2024/12/16(月)08:17 ID:d6I1DTY60(1/2) AAS
PSはMSが作ってるが
248: (ワッチョイ 0bff-iztn) 2024/12/16(月)09:42 ID:WomMb93i0(1) AAS
Windowsに標準搭載されてる.NET Frameworkと今の.NETの時点で互換性ないのに
なんで.NETアプリであるPowerShellが叩かれるのか
249: (ワッチョイ 0fd7-Xxs2) 2024/12/16(月)12:31 ID:zYOmJNRT0(1) AAS
標準搭載されてるPowerShellは.NETアプリじゃなくて.NET Frameworkアプリだからね
250: (ワッチョイ 2344-/DxF) 2024/12/16(月)13:18 ID:ZxGHnTET0(1) AAS
>>245
MSの社内政治に敗れたチームのプロダクトはそうなりがち
社内政治うまくやってると微妙なやつも長生きする
上下前次1-新書関写板覧索設栞歴
あと 268 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.008s