タグ

VOに関するbigbroのブックマーク (7)

  • DAOとかVOとかDTOとか - 人類みんなごくつぶし

    設計、コーディングで用いられる言葉の整理。こいつらって何よ? DAO(データアクセスオブジェクト) VO(バリューオブジェクト、値オブジェクト) DTO(データトランスファーオブジェクト) エンティティ これらは、EJBの出現により(?)メジャーになった言葉たちです。 DAOは、DB(永続ストア)にアクセスするためのクラスです。 たいてい、VOを引数に受け取って、INSERT、UPDATEを行ったり、 SELECTしてVOやVOのリストを返したりします。 DTOはVOとほぼ同義ですが、微妙に違います。 何が微妙に違うかはメンドクサイので忘れます。 エンティティは、DAO+VO(DTO)のようなペアでDB操作を行わず、 エンティティクラス自体のメソッドにINSERTやSELECTを行うメソッドを定義します。 (SELECTは別のクラスにしたり、staticメソッドにしたりもする) VO/DT

    DAOとかVOとかDTOとか - 人類みんなごくつぶし
  • ザ・ケイのカミカゼアーキテクチャ:ValueObjectとDTOって何が違うの?

    2010年03月01日 ValueObjectとDTOって何が違うの? ValueObjectとDTO アプリケーションレイヤー(アーキテクトの階層)の疎密度を限りなく疎にしようと考えた場合、レイヤー間の伝達は"構造をもった値"のやり取りが最適です。構造を持った値と言えばDTO(Data Transfer Object)が一般的かと思うが、たまにValueObjectなる言葉が浮上する。その違いについて今日は語ってみる。 構造を持った値 具体的に書くとこうだ。 [Serializable] public class CustomerDTO { public string Id { get; set; } public string Name { get; set; } } なんてことない、値を保持する為だけのクラスです。 DTO 上のコードはまさにDTOなんですが、値をまとめて受け渡すこと

  • DDD/Value Objects - Java EE勉強会

    Menu Top JavaEE勉強会 参加するには FAQ MakingSenseofStreamProcessing MicroservicesVsSOA ModernJavaEEDesignPatterns BSA EIP DSL DDD 議事録 最新の20件2023-11-24 MicroservicesVsSOA/The World of Service-Based Architectures 2020-11-14 DDD/Knowledge-Rich Design MakingSenseofStreamProcessing/Example Implementing Twitter 2020-10-28 EIP/Aggregator 2019-12-18 EIP/Publish-Subscribe Channel 2018-06-10 FrontPage 2017-07-08 Ma

  • Value Object は不変にする | システム設計日記

    ドメイン駆動設計(DDD)の Value Objects パターンでは、オブジェクトを不変(immutable)にすることを強く推奨している。 なんとなく、そんなもんか、と思っていたけど、ある日、なるほど、というケースに出くわした話し。 変数名にこだわる 前提として、変数名にこだわるようになったことがある。 DDD のユビキタス言語パターンの実践として、 ・パッケージ名 ・クラス名 ・メソッド名 ・変数名 は、業務上の意味のある名前にこだわることを、徹底しはじめた。 Java Calendar クラスの日付計算 当日から、2週間後に、期限切れになる、というビジネスルルールを実装していた。 Calendar getExpireDate() { Calendar now = Calendar.getInstance(); now.add( Calendar.DATE, 7*2 ); retur

  • Value Object(バリューオブジェクト) - Strategic Choice

    師曰く数学的な値のように振る舞うオブジェクトを作成しなさい。どういうこと?変化する状態の入れ物ではなく、整数のように振る舞うオブジェクトのことです。数学の世界では、「1」に「1」を足しても、「1」自身が変更される訳ではなく、新たに「2」という数字が作成されます。プログラミングでこれを表現するのが「Value Object」になります。よって、「Value Object」は不変オブジェクト(Immutable)です。Javaのプリミティブはこの数学世界の住人で、そのラッパー(やStringは)はまさに「Value Object」と言えます。どうして?オブジェクトには大きく2種類、状態が変化する「状態型」と、変化しない「値型 *1」があります。値型を実現するのが「Value Object」パターンです。状態型の方が一般的ですが、状態を持つが故に「呼び出し順序」が重要になってしまっています。そし

  • bliki: Value Object

    When programming, I often find it's useful to represent things as a compound. A 2D coordinate consists of an x value and y value. An amount of money consists of a number and a currency. A date range consists of start and end dates, which themselves can be compounds of year, month, and day. As I do this, I run into the question of whether two compound objects are the same. If I have two point objec

    bliki: Value Object
  • DAOとかDTOとかVOとかEntityとか

    Strutsを使っていたときにこのへんすごく迷った。SAStrutsでもでてきたのであらためて調べ直しておさらいしてみる。 VO vs DTO vs DAO vs Entity VOは不変でなければならないので、MVC間でやりとりされるオブジェクトは、DTOといったほうがいいらしい(参考:OZACC.blog: VOとDTOの違い)。 WikipediaのDTOをみると「過去、VOとも呼ばれていた」とある。よって、藤原はVOをもう使わないようにします(会社で使ってるな・・・)。 DAOはSelectとかInsertとか、DBにアクセスしてくれる人のこと。結果としてEntityを返してくれたりする。 Entityはレコードを表現する。DTO(VO)っぽいけど、DAOみたいなこともしやがるらしい(参考:DAOとかVOとかDTOとか – 人生全て暇つぶし) DTOは、EntityからDTOが作ら

    DAOとかDTOとかVOとかEntityとか
  • 1