2023-08-02

SEの人おるか?ちょいと聞きたいんやけど

クラス設計の基礎知識的な文章を読んでいるんやけど

「入出力と計算判断を分ける」って文が出てきてな

まあ言いたいことはわかるんだが(一つのクラスができるだけ一つの責任だけを持つべきとかそんなことやろ)

関数との違いがわからんくてな

例えばレンタルビデオシステムがあるとするやろ?

「入出力と計算判断をわける」という原則に従って、以下のように2つのクラスに分けると

VideoBorrowingクラス: このクラスは、ビデオを借りる作業担当。どのビデオが借りられ、誰が借りたかという情報管理します。

FeeCalculatorクラス: このクラスは、料金を計算する作業担当ビデオがどれだけの日数借りられたか、そのビデオレンタル料金が一日につきいくらか、という情報をもとに、料金を計算を行う。

となったとき、ふと思ったのがこれjavascirptやGoogle app scrptでいうところのfunctionではって?

そうなって気になって、ついついコーヒー3杯も飲んじまったんだが、この違いわかる?

  • SEじゃないけど、クラスにする必要がないと信じてる(クラスにしないと困るというだけの情報を、製作時に集められなかった)なら別にクラスにはしなくていいよ クラスにしないと困...

    • ありがとうSEじゃない人(基礎知識は確実に余人よりあるよね?) >>クラスにしないと困るというだけの情報を、製作時に集められなかった あー、そういう判断基準があるのか。 覚え...

      • 「「ビデオ借りるシステムを考えてみたい」としたときに「あーじゃあ○○するクラスが△△インタフェースで必要だね」といったことが基礎知識不足で思いつかない」という意味でも...

  • その手の初学者向けのクラスの説明は書いている本人も大して理解してないと思うから適当に読み飛ばせばいいぞ。

    • (´・ω・`)そんなー あんさん的にはどう思っている? 再利用できるのがクラスとかそんな感じ?

      • 変更を容易にする為と可読性を担保する為が主な目的かな。 この場で説明しても分からんと思うからまずはMVC Architectureについて理解するといいぞ。 Rails tutorialとかやってみると良いと思...

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

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