Index: [Article Count Order] [Thread]

Date:  Sun, 20 Aug 2000 16:02:01 +0900
From:  Kaoru Hosokawa <khosokawa@....com>
Subject:  [XP-jp:00754] Re: VXP 	ストーリー1タスク案
To:  extremeprogramming-jp@....jp (extremeprogramming-jp ML)
Message-Id:  <B5C57366.2F66%khosokawa@....com>
In-Reply-To:  <00Aug14.174458jst.115202@....jp>
Posted:  Sun, 20 Aug 2000 15:59:53 +0900
X-Mail-Count: 00754

ホソカワです。

on 2000/08/14 5:43 PM, firo at firo@....jp wrote:

> 矢崎です。
> 
> Kaoru Hosokawa さんwrote:
> 
>> 
>>>> ホソカワです。
>>>> 
>>>> ストーリー1の「メーリングリスト(以下ML)のユーザが,ML のアドレスにメール送
>>>> 信すると,ML に所属するメンバ全員に,そのメールが配信される.」タスクを考え
>>>> てみました。
>>>> 
>>>> タスク1:メンバーリストを読み込んで、メールアドレスのリストとして保持する
>>>> 。
>>>> 
>>>> タスク2:新規メールを受け取ると、メールアドレスのリストの各メールアドレス
>>>> に
>>>> 受け取ったメールを送る。
>>>> 
>>>> タスク3:新規メールが到着したら、タスク2を起動するメカニズム。
>>>> 
>>>> タスク4:メールを送るメカニズム。
>>>> 
>> 
>> 次に行う事は、タスクの見積もりを出す事です。Ideal programming week というも
>> のですね。タスクを見積もるには、ある程度の方向性というかデザインが必要ですね
>> 。
>> CRCを使用して、タスクをもうちょっと明確にするということですね。
>> 
>> 私は、CRCを使ったデザインを行った事がありませんが、最初は、ブレーンストーミ
>> ングでクラスの列挙をするのですよね?
>> 
>> MemberList  メンバーのメールアドレスを管理するクラス
>> Mailer      メールを受け取ったり、送信するクラス
>> 
>> は、すぐに浮かび上がりますが、他には?
> 
> Memberというクラスはどうでしょう?1インスタンスが、1つ(1人)の
> メンバ情報を管理します。

MemberListが管理する物は、メールアドレスではなく、Memberということですね。
MemberにgetMailAddressを送ってメールアドレスを取得しますか?おっと、
MailAddressもクラスですね。

> また、案ですが、こいつにメール本文を
> 送れば、ヘッダ情報をつけて、外に出すような役割を持たせても
> よいかもしれません。

なるほど、「メールを出す」という行為を?メンバーにメール本文を渡す」という行
為に置き換えていますね。これですと、メンバーに本文を出す方法が隠されて、電子
メールなのか、例えば、FAXなのか、と自由度が上がりましたね。それから、メール
本文もクラスですね。MailBodyでしょうか?となるとMailHeaderもありますか?もっ
と基本的な、Mailというクラスを忘れていましたね。

ちょっと、まとめます。ブレストで出て来たクラスです。

    MemberList
    Mailer
    Member
    MailAddress
    MailBody
    MailHeader
    Mail

まだまだ、出そうですね。

> 
> 
> ~~~~~~~~~~~~~~~
> ところで1つ質問です。
> 
> タスク1でリストとして保持するとは、テキストファイルから
> 読み込んだ各メンバのメールアドレス等を、メモリに保持すると
> いう意味でしょうか?

そうです。オブジェクトを使わずに説明をしたくて、このような文になってしまいま
した。

    memberList = new MemberList("MemberList.txt");
    mailAddress = memberList.getMailAddress();

を考えていました。

-- 
Kaoru Hosokawa
khosokawa@....com