langsmith:101
From: eclipse <eclipse cspc.jp>
Date: Mon, 23 Aug 2004 23:29:05 +0900
Subject: [langsmith:101] Re: パターン支援言語? ご意見拝聴
eclipseです。
クラス間の関係を張ると具体的にどうなるのですか?
Aggregateの例では単にクラスに参照の配列が追加されるだけ(*1)
だと私は思ったのですが、そのようにマクロやテンプレートなどで
今のオブジェクト指向言語に変換できるものでしょうか。
それともクラス間の関係という概念は全く新しいものになるのでしょうか。
(*1)
class Publisher {
string company_name;
Book[] books;
Author[] authors;
}
class Author {
string name;
Book[] books;
}
class Book {
string company_name;
Author[] authors;
}
いままでの例だけだといまいち全体像が見えてこないので、
できればパターン(Aggregate)の定義部分なども含めて
一つの完結したプログラムを見せていただけないでしょうか。
アスペクトはクラス間に直接的関係がない共通項の括り出しをする
機能だと認識しています。
Wさんの言われるパターン(クラス間の直接的関係)とは違うと思います。
----- Original Message -----
From: "W" <ttn3w7u2fs mx6.ttcn.ne.jp>
To: <langsmith quickml.atdot.net>
Sent: Monday, August 23, 2004 10:47 PM
Subject: [langsmith:100] Re: パターン支援言語? ご意見拝聴
> Takuo Yonezawa wrote:
>
> >るとです。
> >
> >1:n関係であるということは
> >Author:Book = 1:nとすると
> >author1.book = [book1, book2]として
> >book1.author = author2とすると
> >author1.book = [book2]とならなければならないことです。
> >なので単純に1:nかつn:1としてしまうと動かなくなります。
> >
> >
>
> 私の説明不足でした。失礼致しました。
>
> 2') Auther : Book = 1:n
> 3') Book : Auther = 1:n
>
> とある場合、これはそれぞれ個別の関係となります。SQL で表現すれば(正確で
> はないですが):
>
> create table auther_book (
> auther_id oid unique;
> book_id oid;
> );
> create table book_auther (
> book_id oid unique;
> auther_id oid;
> );
>
> の2つとなります(oid はリファレンス型。PostgreSQL の表現を借りてます)。
> まあ、結果として多対多であることには違いないのですが。
>
> ちなみに、私の妄想している(^^;)パターン支援言語では、多対多の関係を2つ
> のクラス間に張りたい場合、
>
> m_to_n Auther, Book;
>
> などと定義することで可能(と想像)。
>
> さらに補足しますと、m_to_n パターンや Aggregate(1:多)パターンにはオペ
> レーション(メソッド)がつきます。要素の追加は
>
> Publisher p;
> Book b;
> Aggregate.add(p, b);
>
> という感じになります。
>
>
> 通常のオブジェクト指向の表記
> p.add(b);
> とはちょっと違いますね。
>
> こんな感じで、例えば MVC パターンも
>
> class RGB {unsigned char r, g, b;};
> :
> MVC RGB, X, Y;
>
> と定義するだけで、RGBカラー選定 GUI が 3つのクラス RGB, View X、コント
> ローラ Y の間に張れるようになると簡単かなと・・・。
>
> まあ、想像するだけは簡単ですが、実行が大変なのは理解しています。上の例の
> MVC を実際にどう実装するかはまだ想像できませんm(__)m。ただ、上で述べた
> Aggregate や m_to_n などは既に Jiri のライブラリ(+専用プリプロセッサ)
> で実現できているものなので、後はどうそれをスマートに新言語で表現するかだ
> とは思うのですが…。
>
> アスペクト指向とやらで実現できるものなのか、もう少し調べてみます。
>
> // W
>
>
>
>
> --
> ML: langsmith quickml.atdot.net
> 使い方: http://www.atdot.net/~ko1/quickml
>
--
ML: langsmith quickml.atdot.net
使い方: http://www.atdot.net/~ko1/quickml
96 2004-08-21 23:23 [ttn3w7u2fs mx6.ttcn.] パターン支援言語? ご意見拝聴 97 2004-08-22 13:13 ┗[takuo aya.or.jp ] 98 2004-08-22 22:34 ┗[ttn3w7u2fs mx6.ttcn.] 99 2004-08-23 10:12 ┗[takuo aya.or.jp ] 100 2004-08-23 22:47 ┗[ttn3w7u2fs mx6.ttcn.] -> 101 2004-08-23 23:29 ┣[eclipse cspc.jp ] 102 2004-08-24 22:38 ┃┗[ttn3w7u2fs mx6.ttcn.] 103 2004-08-25 00:11 ┃ ┣[eclipse cspc.jp ] 107 2004-08-25 11:27 ┃ ┗[shiro lava.net ] 108 2004-08-25 13:14 ┃ ┗[shiro lava.net ] 105 2004-08-25 00:30 ┗[takuo aya.or.jp ] 110 2004-08-30 22:29 ┗[ttn3w7u2fs mx6.ttcn.]