[#38447] 複素数を考慮したVectorクラス — TANAKA Kenta <c30318@...>
みなさん、はじめまして。Ruby歴(=OOP歴)1週間の田中と申します。
7 messages
2003/10/01
[#38465] diff library — Koji Arai <JCA02266@...>
新井です。
6 messages
2003/10/05
[#38470] ruby-dev summary 21403-21530 (draft) — Minero Aoki <aamine@...>
青木です。
25 messages
2003/10/07
[#38475] Re: ruby-dev summary 21403-21530 (draft)
— maili31s@... (SugHimsi==SUGIHARA Hiroshi)
2003/10/07
すぎむし。
[#38480] Re: ruby-dev summary 21403-21530 (draft)
— Minero Aoki <aamine@...>
2003/10/08
青木です。
[#38481] marshal_dump (was Re: )
— m_seki@...
2003/10/08
[#38484] Re: marshal_dump (was Re: )
— matz@... (Yukihiro Matsumoto)
2003/10/09
まつもと ゆきひろです
[#38486] Re: marshal_dump (was Re: )
— Masatoshi Seki <m_seki@...>
2003/10/09
咳といいます
[#38487] Re: marshal_dump (was Re: )
— matz@... (Yukihiro Matsumoto)
2003/10/09
まつもと ゆきひろです
[#38471] SQLite - Ruby/DBI — Kenji Machida <k-machida@...>
はじめまして。まちだと申します。
10 messages
2003/10/07
[#38485] プログラム設計方法 — Satoshi Osabe <s-osabe@...>
長部と申します。
6 messages
2003/10/09
[#38489] exit status on exit! — YANAGAWA Kazuhisa <kjana@...4lab.to>
<http://www.unixuser.org/~ysjj/diary/?200310a&to=200310082#200310082>
29 messages
2003/10/09
[#38490] Re: exit status on exit!
— Koji Arai <JCA02266@...>
2003/10/09
新井です。
[#38503] Re: exit status on exit!
— YANAGAWA Kazuhisa <kjana@...4lab.to>
2003/10/10
In Message-Id: <20031010.082218.74733862.JCA02266@nifty.ne.jp>
[#38505] Re: exit status on exit!
— Koji Arai <JCA02266@...>
2003/10/10
新井です。
[#38507] Re: exit status on exit!
— matz@... (Yukihiro Matsumoto)
2003/10/11
まつもと ゆきひろです
[#38514] Re: exit status on exit!
— YANAGAWA Kazuhisa <kjana@...4lab.to>
2003/10/11
In Message-Id: <1065883639.405037.23137.nullmailer@picachu.netlab.jp>
[#38515] Re: exit status on exit!
— WATANABE Hirofumi <eban@...>
2003/10/11
わたなべです。
[#38520] Re: exit status on exit!
— matz@... (Yukihiro Matsumoto)
2003/10/12
まつもと ゆきひろです
[#38521] Re: exit status on exit!
— nobu.nakada@...
2003/10/12
なかだです。
[#38532] Re: exit status on exit!
— matz@... (Yukihiro Matsumoto)
2003/10/13
まつもと ゆきひろです
[#38556] Re: exit status on exit!
— nobu.nakada@...
2003/10/14
なかだです。
[#38558] Re: exit status on exit!
— matz@... (Yukihiro Matsumoto)
2003/10/14
まつもと ゆきひろです
[#38560] Re: exit status on exit!
— nobu.nakada@...
2003/10/14
なかだです。
[#38561] Re: exit status on exit!
— matz@... (Yukihiro Matsumoto)
2003/10/14
まつもと ゆきひろです
[#38562] Re: exit status on exit!
— matz@... (Yukihiro Matsumoto)
2003/10/14
まつもと ゆきひろです
[#38566] Re: exit status on exit!
— nobu.nakada@...
2003/10/14
なかだです。
[#38522] Re: exit status on exit!
— Takahiro Kambe <taca@...>
2003/10/12
In message <20031011.003250.41649947.JCA02266@nifty.ne.jp>
[#38499] Amrita と mod_ruby の相性は ? — 山本 達也 <rcn@...>
山本(rcn)@ntt〜kddi です。こんにちは。
5 messages
2003/10/10
[#38510] ロックしたファイルの書き換え — Akimichi Tatsukawa <akimichi@...>
ruby-listの皆さん、こんにちは。立川察理と申します。
8 messages
2003/10/11
[#38524] Object#instance_eval and private — Masao Mutoh <mutoh@...>
むとうです。
6 messages
2003/10/12
[#38527] ruby-dev summary 21531-21607 (draft) — Kazuo Saito <ksaito@...>
斉藤です。
7 messages
2003/10/13
[#38580] ruby-mysql-0.2.1でのwarning — Takashi Kanai <kanai@...4u.or.jp>
こんにちは、金井です。
11 messages
2003/10/16
[#38581] Re: ruby-mysql-0.2.1でのwarning
— Takashi Kanai <kanai@...4u.or.jp>
2003/10/16
金井です。
[#38582] ruby-mysql-0.2.1でlocalhostがエラー
— Takashi Kanai <kanai@...4u.or.jp>
2003/10/16
こんにちは、金井です。
[#38590] mod_rubyでのSTDOUTについて — 堀川 久 <vzw00011@...>
こんにちは。
10 messages
2003/10/16
[#38607] [ANN] ReFe 0.8.0 — Minero Aoki <aamine@...>
青木です。
4 messages
2003/10/17
[#38614] cygwin の uconv で Segmentation fault — Beyond <beyond@...>
9 messages
2003/10/20
[#38619] dl and win32 API call — arton <artonx@...>
artonです。
5 messages
2003/10/20
[#38621] ruby-dev summary 21608-21636 (draft) — Masayoshi Takahashi <maki@...>
高橋です。
5 messages
2003/10/20
[#38636] gethostbyname — Takeshi Honda <moecho21@...>
お世話になります。
7 messages
2003/10/23
[#38643] C/C++ からメソッドを呼びたいのですが — phosrin <phosrin@...>
りんです。よろしくお願いします。
7 messages
2003/10/23
[#38645] snap shot の make install でエラー — Takeshi Honda <moecho21@...>
お世話になります。
1 message
2003/10/23
[#38646] install trouble of ruby 1.8 and rdtools 0.6.14 — Kominami Yasuo <NBC00224@...>
はじめまして、小南と言います。
5 messages
2003/10/23
[#38656] Ruby/Tkの終了時の挙動 — Shigeaki Kinoshita <QZT05560@...>
木下と申します。
8 messages
2003/10/25
[#38663] Re: Ruby/Tkの終了時の挙動
— Hidetoshi NAGAI <nagai@...>
2003/10/25
永井@知能.九工大です.
[#38661] 'Using the Ruby DBI Module' 日本語訳 — KUBO Takehiro <kubo@...>
久保@茅ヶ崎市です。
1 message
2003/10/25
[#38662] 空行で別れたデータから特定の文字を含むデータを削除したい —
竹島と申します。
5 messages
2003/10/25
[#38689] cgi.params のデフォルト値 — Kazuhiro Yoshida <moriq@...>
もりきゅうです。
6 messages
2003/10/28
[#38701] space before argument parentheses warning — Toshi Isogai <tisogai@...>
先日 ruby 1.8 を コンパイルして、以前から 1.6.7 使っていたスクリプトを走らせた
4 messages
2003/10/30
[#38706] ruby-1.8.1でenctypeのときのcgi.params — Takashi Kanai <kanai@...4u.or.jp>
こんにちは、金井です。
6 messages
2003/10/31
[ruby-list:38495] Re: プログラム設計方法
From:
Sako <sakoh@...2.so-net.ne.jp>
Date:
2003-10-10 04:39:59 UTC
List:
ruby-list #38495
酒匂と申します。 At 21:31 03/10/09 +0900, Satoshi Osabe wrote: >今まで、プログラミングでコーディング&デバッグ方式でやってきたのですが、 >「職業プログラマー入門」(エーアイ出版)という本を読んで、その方式だと素人的で、 >プログラミングの効率が悪いと思うようになりました。ウオータフォール・モデルの方が >望ましいのかと思い、PAD図とモジュール構造図を用いる方法を勉強しました。 >しかし、Rubyだと、begin、rescueを使った例外処理が、PAD図の選択箱では表現しにくい >ようです。Rubyプログラミングで、設計からきちんとやるにはどういう方法を >とるのでしょうか。 そもそも PAD 図のようなものが必要になるのは、長い命令列を見やすくする ためなのですが、一般的に良い「オブジェクト指向プログラム」は 一目で理解できる程度の長さのメソッドが理想とされています。 よって手続きを構造化して見やすくするための PAD やフローチャートのようなものは 基本的に不要というわけです。 私は クラスの責務と、協調関係を、求められる仕様に従って少しずつ構築していくのが オブジェクト指向設計/プログラミングだと思っています。 (大きく見ればまつもとさんがおっしゃっている XP と CRC と変わらない 見方かもしれません) クラスの責務を設計するには、個別の属性、メソッドを吟味しながら、破綻のないサービスを 提供すれば良いことになりますが、こうした際に役に立つのは 不変条件、事前条件、事後条件といった制約条件の認識です。 こうした各種条件は Rose などのモデリングツールを使っていると 記入場所があることに気が付くでしょう(必ずしも活用されている とは言いがたいのですが)。 またクラス間の協調関係設計とは、きちんと定義された責務をもつオブジェクト 同士を協調させる方法を考えることです。あるサービスを提供するクラスを想定した際に そのクラスが全部自分で解決するのではなく、責務を分離した他の クラスに協力を依頼しながら、より上位のサービスを提供します。 例えば(例題として適切かどうかわかりませんが)、「旅行代理店」というクラスが 存在したとします。このクラスの責務は「依頼を受けて旅程の予約を行うこと」です。 たぶんメソッドとして「予約を受付ける(旅程)」というものが存在することでしょう。 もちろん通常旅行代理店が自分で飛行機を飛ばしたり、ホテルを経営しているわけでは ありませんので、旅程に対する各手配は適切な運用会社(エアライン、ホテル、レンタカー会社 、鉄道会社)に委任しなければなりません。 「旅行代理店」と「運用会社」が協調して、「顧客」のための「予約」を作り出します。 こうした文脈では、「顧客」と「予約」が問題領域の情報構造を扱っており、 「旅行代理店」と「運用会社」はそれぞれサービスの切り口を 提供することになります。 しばしば前者(問題領域の情報構造)はドメインモデルと呼ばれたりします。 説明のためには UML のクラス図で書くことがポピュラーです。 後者が互いに協調することにより、ドメインモデルを維持管理します。 こうした部分は単なるクラス図よりも、UML のイベントシーケンス図、 コラボレーション図などを用いた方が分りやすいでしょう。 と、まあ五月雨式に書きましたが、一つだけ強調しておくならば UML の記法だけを覚えても何の役にも立ちません。 それぞれのモデルの持つ役割をはっきり 認識して厳密なモデル構築を心掛けるべきですね。 以上取り急ぎ。 では失礼します。 ----------------------------------------------------------------------- <Sako Hiroshi> -- to design is human, design is our business http://www02.so-net.ne.jp/~sakoh/ mailto:sakoh@ba2.so-net.ne.jp Designers' Den Corporation : and for now, No Peace, No Future. -----------------------------------------------------------------------