オブジェクト指向がうまく書けないなーと思ってたらデザインパターン勉強してないからだった
どうもオブジェクト指向を書いてると、状態を全部メンバ変数に持たせてしまって、外から順番に引数無しのメソッド叩くという作りになってしまう。これってどうなんだろう。
2010-05-05 02:46:30オブジェクト指向というよりも、単純に処理を分割していっただけのような気がする。グローバル変数ではなくてメンバ変数にした、というだけ。。。
2010-05-05 02:48:10対話式のコマンドスクリプトを書くときに裏でオブジェクト一個作るだけという使い方だとどうしてもこうなってしまうよな。
2010-05-05 02:50:38@riywo どういうプログラムかわからないから何とも言えないのですが,状態を管理するならステートパターンだとおもうし,メソッドがある一定の順番で呼び出されるって決まりがあるならテンプレートメソッドパターンなんじゃないかなって思ったのですが…というデザインパターンの紹介です.
2010-05-05 02:51:04@riywo 僕も全部は知らないのですが…デザインパターンってそれ自信を勉強しようとすると破綻すると思うんですよね.あるプログラム書いていて,疑問に思ったときにデザパタの本を開いて勉強すると目から鱗だったり.
2010-05-05 02:53:38デザインパターン一切勉強したことなかった。。。プログラミングは基本全部独学。あとは「すげー」と思うモジュールを読んで参考にしてるだけだ。
2010-05-05 02:55:11@riywo @riywoちなみにおすすめはやっぱり原著(http://is.gd/bTVIoなんですけど難しいです.他にはオライリーのHead Firstが評判良いです.多分入り口を作るならHead Firstが良いかも
2010-05-05 02:56:05そうかそうか。だからいつもどうしたものかと困っていたんだ。。大抵落ち着くパターンがいくつかあるなーと思ってたけど、きっとデザインパターンで説明できるんだろうなー。
2010-05-05 02:56:43@baca_ うぅ、さらに良書の推薦まで!ありがとうございます。とりあえずHead Firstに超速で手を出してみたいと思いました。GoFはそのあとで。。。
2010-05-05 02:59:02みんなデザインパターンとかどこで勉強するものなんだろう。CSとかだと学校でやるものなのかな。それとも私的に勉強してるのかな。
2010-05-05 02:59:53オブジェクト指向というと、どうも継承とかポリモーフィズム使わないといけないのかなーと思ってしまうけど、実はほとんど使った試しがないかも。。。そんなちゃんと設計して書いたことない。。。
2010-05-05 03:01:59@riywo あとデザインパターンが乗ってる本だとオブジェクト開発の奥義(http://is.gd/bTW9I)なども.こいつはデザインパターンオンリーではなくてアジャイルやオブジェクト指向開発の方法論の中でデザパタ書いてますよ.僕も勉強中なのでお互い頑張りましょう!
2010-05-05 03:02:26@riywo プログラミングのコミュニティにいると普通にデザパタの話題が出る→話題についてきたくって調べる→あ、なんだ、こんな感じかって程度。最初はざっくりとしか勉強しない。細かなことはいざ使わなきゃいけないときに調べなおせばいいし。
2010-05-05 03:04:27どうも手続き型以外のプログラム書こうと思ったときに、手が動かないなーと思ってたのは、こういう一段上の視点が無いからなんだろうな。
2010-05-05 03:05:39@riywo オブジェクト指向言語ばかり使ってるとどういうオブジェクトが美しいのか疑問になる>デザパタがいいらしい>勉強する デザパタを学ぶなら「オブジェクト指向のこころ」がおぬぬめ http://bit.ly/afJyva
2010-05-05 03:07:07やっぱ結構みんなJavaとかCなんとかとか使ってるのかなー。僕の場合、Cをそれなりに触ったあと、C++とJavaをほんの少し触って、あとPerlという謎の順番なのでオブジェクト指向と結構縁遠い。。。
2010-05-05 03:10:07@riywo いえいえ 僕もこれでデザパタ学んで、少しはオブジェクト指向的なプログラム書けるようになったんで、良書でっせ
2010-05-05 03:11:33