一つの処理が長くなってくると、読むのが大変になってくるので、処理を分割する必要が出てくる。処理をまとめて一つの名前をつけることで、読みやすく分り易いコードになる。 複数箇所で同じ処理をしている場合、そこをメソッドとして抜き出すことでムダを省…
状態が必要になる条件 状態が必要になる条件として、処理が途中で中断される場合があるということを昨日書いた。 コレクションや相互参照の初期化のためにパブリックセッターやAddを作る必要はないということも書いた。初期化の問題はラムダ式で解決してる。…
前回までのまとめ そのコンポーネントが目的とする処理を実現するには、正しい順番で必要なメソッドを呼び出していく必要があり、呼び出し順序はオブジェクトの木で規定される。オブジェクトの木の各オブジェクトは重複することがなく、各オブジェクトは自分…
概念整理(2) ソフトがその目的を達成するためには、必要な処理を正しい順番で過不足なく記述する必要があります。オブジェクト指向言語でそれを記述すると、処理の順序はオブジェクトの木に置き換えられます。 オブジェクトは依存するオブジェクトのメソッド…
class Aがclass BのメソッドMに依存しているとします。AからBへの依存関係を切断する一般的手法をコードで示します。 状況はこのように表せます。 class A { public void Hoge() { ... new B().M(); ... } } class B { public void M(){...} } 引数がなく戻…
処理が別のライブラリの処理を呼び出す場合、処理はそのライブラリに依存しています。 処理には入力と出力が必要です。入力データ型や出力データ型が基本型でなく、特別に作られたものだったなら、処理はそういったデータ型に依存することになります。コード…
再利用できる部分とできない部分を知ろう ソフトはだいたいの場合、何らかの目的を持っています。その目的を達成するために、計算をし、結果を画面に表示したり、ファイルに書きだしたりします。 結果を画面に表示したり、ファイルに書きだしたりする操作は…
プログラミング言語の使い方を習得し、さてソフトをつくろうと思って、真っ白なテキストファイルを前に呆然とした経験はないでしょうか。 プログラミング言語の使い方などは勉強すればわかりますが、ソフトの作り方は勉強してもあまりわかりません。これから…