[akabana-user:37] このような設計は?

yoshimoto @ valuenet.co.jp yoshimoto @ valuenet.co.jp
2006年 10月 5日 (木) 21:46:05 JST


始めまして、吉本と申します。

この度 S2Flex2 を使用したプロジェクトに携わることになったのですが
以下のようなことを考えてみました。

このような 設計? ってどうなんでしょうか?

擬似コードですが、ご意見頂ければ幸いです。

--------------------------------------------------
Client Side
--------------------------------------------------
[DTO]
  interface Request {}
  class LonginRequest implements Request {
        var userId:String;
        var password:String;
  }
  class ReportRequest implements Request {
        var reportId:String;
  }

  interface Response {}
  class LoginResponse implements Response {
        var userId:String;
        var userName:String;
  }
  class ReportRequest implements Response {
        var pages:Array;
  }

--------------------------------------------------
Server Side
--------------------------------------------------
[DTO]
  interface Request {
      Handler newHandler();
  }

  class LonginRequest implements Request {
      String userId;
      String password;
      Handler newHandler() { return new LoginHandler(); }
  }
  class ReportRequest implements Request {
      String reportId;
      Handler newHandler() { return new ReportHandler(); }
  }

  interface Response {
  }
  class LoginResponse implements Response {
      String userId;
      String userName;
  }
  class ReportResponse implements Response {
      List<Page> pages;    // これ大丈夫かしら...
  }

[LOGIC]
  interface Handler {
      void setContainer(S2Container container);
      Response handle(Request request);
  }
  class LoginHandler implements Handler {
      ...
  }
  class ReportHandler implements Handler {
      ...
  }

[SERVICE]
  interface DomainService {
      Response execute(Request request);
  }
  class DomainServiceImpl implements DomainService {
      Response execute(Request request) {
          Handler handler = request.newHandler();
          handler.setContainer(SingletonS2ContainerFactory.getContainer());
          return handler.execute(request);
      }
  }
--------------------------------------------------

以上です。
長文、失礼いたしました。




akabana-user メーリングリストの案内