Swift part8 [無断転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0294デフォルトの名無しさん (アウアウ Saff-7VFp)
2016/07/07(木) 10:08:20.85ID:OAHH8Qcfaプロパティ(/メソソッド)だけど、firstやlastのセッターの利用が想定される一般的な場面なんてない
それはもうソフトウェア設計者としての根本的なセンスの問題
分かる人はすぐピンとくるし、分からん奴は何で?と思うぐらいの感覚なんだろう
リードオンリーなクラス(/構造体)属性に無闇にセッターはつけるのは全体的なアクセシビリティーのポリシーに関する問題もあるが、もちろん、コンパイル時のコスト、
バイナリーサイズへの影響なども考慮する必要がある。OSが提供する広く使われるライブラリであれば尚のこと極力無駄は省かなければならない
抽象化とはそういうことの積み重ねであって、例えば設計者がベースクラスに付与した属性の微妙なずれが、継承先のクラスや、それに委譲するクラスの全体的なポリシー
に多大な影響を与えることになる。
例えばSwiftの構造体は値型だけどパフォーマンスを考慮してCopy on writeの設計にしてあり、一つのセッターの存在がバイナリー全体に影響を与える
どうせだしついでにセッターもつけとくか的な発想でつけるようなものではない
■ このスレッドは過去ログ倉庫に格納されています