研究施設 環境制御・実験施設 クリーンベンチClean Bench HITACHI 寸法図(mm) バイオクリーンベンチ 基本型(気流垂直タイプ) 室内の清浄度クラスはISOクラス4
良いクラス設計とは?
-
Upload
basicincdev -
Category
Technology
-
view
400 -
download
0
Transcript of 良いクラス設計とは?
良いクラスとは?
山 友弘﨑
Railsを触っていて疑問に思ったことがあります。
「クラスメソッド多くね?」
こんな感じ
一つもプロパティを持ってないクラス
クラス名がただの名前空間と化してる!
もしかしたら Railsはこれでいいのかもしれないが (Rails詳しくないので )
そもそもクラスがどうあるべきか知ってますか?
という話
今日のゴール
クラスの凝集度 (強度 )とクラスの結合度を、コーディングのレベルで扱えるようになる
凝集度とは
どれだけ単一の機能でまとまっているか
凝集度が高い例
class 人 { float 体重; float 身長 ; float ウエスト ;
void 食べる ( 量 ){ 体重 += 量 身長 += 量 ウエスト += 量 }}
class 人 { float 体重; float 身長 ; float ウエスト ;
void 食べる ( 量 ){ 体重 += 量 身長 += 量 ウエスト += 量 }}
クラスメソッドを足してみた class 人 {
float 体重; float 身長 ; float ウエスト ;
void 食べる ( 量 ){ 体重 += 量 身長 += 量 ウエスト += 量 } static int 平均寿命(){ return 80; }}
すっげービミョー
class 人 { float 体重; float 身長 ; float ウエスト ;
void 食べる ( 量 ){ 体重 += 量 身長 += 量 ウエスト += 量 } static int 平均寿命(){ return 80; }}
人クラスに平均寿命があるのは間違いではない気がするなーー
ウ〜〜ん
平均寿命を入れるとこの人クラスが表しているものが大きくなりす
ぎない?
じゃあクラスメソッドで適切なものってどんなもの?
そうなんです
クラスメソッドを定義するのってすげームズイんです!!!
なのに Railsには至る所にめっちゃアルーー
もう一度クラス設計見直してみてはヽ (´∀ `。 )ノ