並び順

ブックマーク数

期間指定

  • から
  • まで

161 - 200 件 / 583件

新着順 人気順

ValueObjectの検索結果161 - 200 件 / 583件

  • goでValueObject(値オブジェクト) を実装する - 電通総研 テックブログ

    これは電通国際情報サービス アドベントカレンダーの17日目の記事です。 はじめに 開発環境 ValueObject(値オブジェクト)とは? 実装方針のアプローチ 構造体として実装し、フィールドに値を保持し、必要な機能をメソッドで外部公開する defined typeとして実装し、必要な機能をメソッドで外部公開する 両アプローチの考察 データベースへの永続化 Value関数 Scan関数 実際にRDBに永続化してみる 値オブジェクトの実装 DB永続化処理 終わりに はじめに みなさんこんにちは。電通国際情報サービス(ISID) 金融ソリューション事業部の水野です。 今回は、値オブジェクトをgo言語でどのように実装したかをご紹介します。 値の生成から振る舞いの実装、データベースへの永続化の際に如何に透過的に扱うかまでを見ていきます。 開発環境 Visual Studio Code 1.62.2

      goでValueObject(値オブジェクト) を実装する - 電通総研 テックブログ
    • 値オブジェクトの実装 - .NET

      このコンテンツは eBook の「コンテナー化された .NET アプリケーションの .NET マイクロサービス アーキテクチャ」からの抜粋です。.NET Docs で閲覧できるほか、PDF として無料ダウンロードすると、オンラインで閲覧できます。 これまでのエンティティと集計に関するセクションで説明したように、ID はエンティティの基礎です。 一方、システムには、ID と ID の追跡を必要としないオブジェクトとデータ項目が多数あります。たとえば、値オブジェクトなどです。 値オブジェクトは他のエンティティを参照できます。 たとえば、あるポイントから別のポイントに到達する方法を示すルートを生成するアプリケーションの場合、そのルートが値オブジェクトです。 これは特定のルート上にあるポイントのスナップショットですが、内部的には City、Road などのエンティティを参照していても、この提案され

        値オブジェクトの実装 - .NET
      • 10. 設定かコードか(slywalker / tanakahisateru) | PHPの現場

        @slywalker さん、@tanakahisateru さんと、ソフトウェアエンジニアの骨折、体調と加齢と集中力、テスト、アプリケーションとフレームワークをブリッジで分離、JPAとPSR、フレームワークとアプリケーションの主従、CakePHP、bakeコマンド、フレームワークを選ぶ、Chronos、ValueObject、Typeによる型変換、認証認可、設定より規約、Crud、書くより読む、設定フレームワーク、設定で実現するかコードで実現するか、エンタープライズに向いているフレームワーク、slywalker way、アプリケーション中心実装隷属、ライブラリのラッパークラス、変更のイニシアティブを持っておくについて話しました。 Show notes CakePHP Chronos - 3.x PHP: DateTimeInterface - Manual CakePHP - Type 3

          10. 設定かコードか(slywalker / tanakahisateru) | PHPの現場
        • トランザクションスクリプトとDDD

          エヴァンスが2003年に書籍 Domain-Driven Design で紹介してから早17年。 やっと時代が追いつき、近年ではこれまでにないほど DDD が注目を集めている。 注目が高まるとともに、DDD を取り扱う良質な書籍も増え、 私自身も複数の DDD の実践を経て、以前よりも理解は進んできたように思う。 そこで、私の現時点での DDD に対する解釈を、一度ここに書き起こし、残してみようと思う。 (これはあくまで現時点での解釈であり、解釈のアップデートがあれば書き換えるかもしれない。) なお本稿では、ドメインエキスパートや、ユビキタス言語といった、 DDD のプロジェクトへの適用側面には触れず、あくまでプログラミングする際に どのように理解、適用していけばよいかを中心に見ていく。 2011年9月、Spring Framework 3.0.6がリリースされて間もない頃、Spring

          • 『レガシーをぶっつぶせ。現場でDDD!』に行ってきたよメモ - コード日進月歩

            レガシーをぶっつぶせ。現場でDDD! にいってまいりましたのでメモ。 今回はDX(デジタルトランスフォーメーション)レポートに取り上げられていた技術的負債の塊であるレガシーシステムに立ち向かうためのDDDということで現場のどろどろ感を出してくイベントという趣旨。 各発表の感想 ソフトウェアの核心にある複雑さに立ち向かう 本日のオープニングで発表したスライドです。 - ドメイン駆動設計でなぜつくるのか? - 「核心にある複雑さ」とは何か? - その複雑さにどう立ち向かうか? ソフトウェアの核心にある複雑さに立ち向かう #genbadeDDD https://t.co/CZYBI0Gkho— 増田 亨. (@masuda220) 2019年5月11日 感想 ソフトウェアにおける複雑さの根源に対する向き合いかた、切り分け方の考え方の話 変更容易性が高いことは開発におけるすべての面において有効とい

              『レガシーをぶっつぶせ。現場でDDD!』に行ってきたよメモ - コード日進月歩
            • 業務システムでオブジェクト指向は必要か? - 達人プログラマーを目指して

              半年前に爆発的に盛り上がったネタで今更ですが、 実はオブジェクト指向ってしっくりこないんです!:気分はstatic!:エンジニアライフ について。多態性(ポリモーフィズム)やGoFのデザインパターンなどの常識を知らない筆者が、C#でpublic staticメソッドを使えば*1インスタンス化が不要などと知ったかぶりの口調で説明したところ、コメント欄やその他のブログで爆発的に議論(多くは反論)が巻き起こったという、伝説的な内容の記事です。多くの方が既にコメントしているので、ここでは筆者の無知や態度については繰り返し言及しないことにします。ユーザー企業のIS部門という業界のピラミッド構造のかなり上の方に属する立場のSEにはこの程度の見識しか持たない人もいるのか、井の中の蛙の技術者とはこのようなものなのかという事実をあらためて世に知らしめたという意味で、(炎上した多数のコメントも含めて)非常に貴

                業務システムでオブジェクト指向は必要か? - 達人プログラマーを目指して
              • PofEAA's Wiki - パターン名の対応表

                Menu CatalogOfPofEAA BBS 読書会 Search Pattern Domain Logic Patterns: TransactionScript (110) DomainModel (116) TableModule (125) ServiceLayer (133). Data Source Architectural Patterns: TableDataGateway (144) RowDataGateway (152) ActiveRecord (160) DataMapper (165) Object-Relational Behavioral Patterns: UnitofWork (184) IdentityMap (195) LazyLoad (200) Object-Relational Structural Patterns: Identi

                • DDDに関する質問にバシバシお答えしました [ドメイン駆動設計] - Qiita

                  先日、メディアマックスジャパン様(以下、MMJ様)にお邪魔してドメイン駆動設計勉強会を開催してきました。そちらで質疑応答セッションがあり、実際にドメイン駆動設計で開発をしだしたタイミングで出てきた具体的な疑問について色々お答えしました。 おそらく多くの人が同じような疑問を持たれそうな内容だったので、MMJ様の許可を得てこちらでも紹介したいと思います。 コンテキストの分け方について DBを複数コンテキスト共通でつかっていいのか? スキーマわけなくていいのか? コンテキストごとにスキーマは最低限分けることをオススメしています。詳細は以下の記事をご参照ください。 境界づけられたコンテキスト 実装編 - ドメイン駆動設計用語解説 機能ごとに切る?ユーザ種別ごとにコンテキストわけるべきなのか? コンテキストの切り方が正しいかどうか、どうやって判断すればいいか? コンテキスト設計は、従えば作れるような

                    DDDに関する質問にバシバシお答えしました [ドメイン駆動設計] - Qiita
                  • Spring Bootで始めるDDD

                    Spring Bootで始めるDDD 1. Spring Bootで始めるDDD ドメイン駆動設計導入 第一章 2. 今日話すこと ● DDDを実際の開発に導入するためにやったこと ● Spring BootでDDDを実現するために行なったこと ● 既存システムをDDDで置き換えるためにやっていく予定のこと 3. DDD導入の背景 4. サービスの成長と複雑度の増加 ● サービスの拡大 ● 開発メンバーの増加 ● アプリケーション知識の複雑化 ● 開発・テスト工数の増大 5. トランザクションスクリプト public void updateXxx(Long value) { Xxx xxx = dto.selectXxx(value); if (xxx.xxx = "xxx") { xxx.setFoo("XXX"); dto.updateXxx(xxx); dto.updateXxx(

                      Spring Bootで始めるDDD
                    • ネイティブXMLデータベース - Wikipedia

                      ネイティブXMLデータベースとは、XML文書をその構造のまま格納・操作を行うことができるXMLデータベースである。それによりXMLが本来持つ「ツリー構造」、「メタ情報管理」という優位性を最大限活用することができる。NXDと略されることもある。 特徴[編集] 関係データベースと比較[編集] いったん関係データベースのテーブルのような2次元表にマッピングして格納することなく、XML文書構造の規定範囲であればどのような構造もそのまま格納する。このため、関係データベース等では実現できない、スキーマ定義を伴わないデータの格納・利用が可能となる利点を持つものもある。 最近では第一世代・第二世代という分類とスキーマ型、スキーマレス型という2つの方向から分類することが多い。 第一世代 スキーマ型 Tamino スキーマレス型 Cyber Luxeon EsTerra 第二世代 スキーマ型 スキーマレス型

                      • kotas.tech

                        諸事情により今頃 Rails に再入門中なのですが、Rails Plugin の練習も兼ねて JSON Schema でパラメータをバリデーションをする gem を作ってみました。 https://github.com/kotas/json_schema_rails https://rubygems.org/gems/json_schema_rails 今運用中のサービス(非 Rails)では JSON Schema でのバリデーションを自作していましたが、Rails4 でクライアントサイドバリデーションをやろうとすると、今のところデファクトな選択肢がないっぽく(Rails3 までは client_side_validations がメジャーだったようですが開発終了っぽいし)、リアルタイムバリデーションどうすっか、となって移植してみたのです。 こんな感じの YAML を app/schem

                          kotas.tech
                        • Symfony/Doctrineでちょっと複雑なValueObjectを扱う例 | QUARTETCOM TECH BLOG

                          はじめに 前回の記事では、Symfony 3.2で継承関係のあるエンティティをDoctrineのSingle Table Inheritanceを使って実装し、テスト時にYAMLのフィクスチャとしてエンティティのテストデータを用意するサンプルを紹介しました。 前回の記事の時点でのエンティティクラスは、下図のようになっています。 今回は、配送時期種別を種別(即納 Instant と見積 Estimation)それぞれ別のクラスにします。アプリケーションコード側ではこれらのクラスのインスタンスで扱い、DBにはこれまで通り文字列で保存を行います。この変換にDoctrineのEntityListenerを使います。クラスは以下のように変わります。 実装を行ったバージョンのソースコードは、以下から参照してください。 GitHubリポジトリ 利用バージョン 記事執筆時点では、以下のバージョンになってい

                            Symfony/Doctrineでちょっと複雑なValueObjectを扱う例 | QUARTETCOM TECH BLOG
                          • DDDモデリングハンズオン - レガシーをぶっつぶせ。現場でDDD!2nd -を通して伝えたかったこと - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」

                            はじめに BIGLOBEの西です。 まずは、12/14(土)のレガシーをぶっつぶせ。現場でDDD!2ndに、 ご参加いただいた皆様、ありがとうございました 今日はイベントの中で開催した、 1-B:モデル・コードの変更が互いにどう表現されるか体験するためのハンズオン のセッションについて解説と狙いを書いてみました。 この記事を読む前に、ぜひハンズオンを実践してみてください。 記事の解説がより理解できるようになります。 なぜハンズオンなのか? 有名な格言があります。 「百聞は一見にしかず」「百見は一考にしかず」「百考は一行にしかず」 要するに、1ハンズオンは100万回(100聞 × 100見 × 100考)聞くのと同じ効果があります (単なる誇張です。 最近はDDDに関する記事も増えてきました。 基本的な知識や考え方を得る手段は多くなってきたと感じています。 それと同時に、 「どうやって導入・

                              DDDモデリングハンズオン - レガシーをぶっつぶせ。現場でDDD!2nd -を通して伝えたかったこと - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」
                            • 「独立したコアレイヤパターンの適用 - fortee 編 -」を発表しました - Shin x Blog

                              2019/11/30 に東京で行われた 大改修!PHPレガシーコードビフォーアフター にて、「独立したコアレイヤパターンの適用 - fortee 編 -」を発表してきました。 発表資料 サンプルコード: https://github.com/shin1x1/independent-core-layer-pattern-fortee-demo Togetter: https://togetter.com/li/1438084 オーガナイザの @tomzoh さんが開発、運用されている fortee.jp というカンファレンス運用サービスのソースコードに独立したコアレイヤパターンを適用するという内容です。 最初にコアレイヤパターンについて解説をした後、ライブコーディングで実際のコードに対してパターンを適用するデモを行いました。 100 人でやるモブプロ コードの解説をしながら、ライブコーディン

                                「独立したコアレイヤパターンの適用 - fortee 編 -」を発表しました - Shin x Blog
                              • APIKitでRequestのイニシャライザに渡すのはValueObjectやEntityじゃないほうが良い - Qiita

                                はじめに iOSアプリ開発のために、APIKit(もしくはインターフェースをAPIKitふうにしたもの)を利用していると、コードレビューの際に他人の使い方を見ることがあって、そういうときにAPIKitの使い方について人に指摘することがあったのでそれを書いておく。 Requestのイニシャライザに渡すのはValueObjectやEntityじゃないほうがいい APIKitのようなやり方の良さの一つとして、リクエストとレスポンスが何らかのWebAPIドキュメントと見比べたときに明確さがあるということだと思う。 それで大抵の場合、必要なパラメータをイニシャライザで渡すことになるけど、そのイニシャライザでは自作のValueObjectやEntityを渡すのではなく、StringやBool, NSNumberなんかのほうがいいですよという話。 (本記事のコメント欄から、自作のValueObjectや

                                  APIKitでRequestのイニシャライザに渡すのはValueObjectやEntityじゃないほうが良い - Qiita
                                • ValueObjectという考え方 - Qiita

                                  以前、DDD(ドメイン駆動開発)を経験した流れでいくつかのことを学びました その中でDDDの神髄を垣間見たのでかいつまんで紹介できればと思います 記事のターゲット DDDを学び始めた人 値オブジェクト・ValueObjectとはなにか、その片鱗を知りたい人 Value Objectとは 値オブジェクトとしてエリック本(青本)では紹介していますね Value Objectの特徴 特徴として以下のような内容があります 一意性を持たない 計測/定量化/説明を責務とする イミュータブルオブジェクト 交換可能 ふるまいに副作用がない 一意性を持たない オブジェクト毎に hogehoge_id のような一意性を表現するプロパティを含まず、一意性がない特徴です 逆にIDを持つようなオブジェクトは「Entity」といいます この特徴の意味するところはオブジェクトをプリミティブライクに扱えることだと考えられ

                                    ValueObjectという考え方 - Qiita
                                  • SymfonyアプリでDoctrineの継承とYAMLフィクスチャを使う(Symfony 3.2版) | QUARTETCOM TECH BLOG

                                    はじめに Symfonyでアプリケーションを開発する際、テストしたい状況ごとにデータベースのデータをYAMLのフィクスチャファイルとして用意しておくと開発がはかどります。Symfonyではバージョン2の頃から、nelmio/aliceおよびaliceを手軽に使うためのバンドルがよく使われています。先日Symfony 3.2がリリースされましたので、この記事では、Symfony 3.2のプロジェクトとしてaliceを使うプロジェクトの雛形を紹介します。 このプロジェクトは、Doctrineの単一テーブル継承(Single Table Inheritance)、および埋め込みエンティティ(ValueObjectまたはEmbedded)を使う例にもなっています。 GitHubリポジトリ 利用バージョン 記事執筆時点では、以下のバージョンになっています。 Symfony 3.2.0 PHPUnit

                                      SymfonyアプリでDoctrineの継承とYAMLフィクスチャを使う(Symfony 3.2版) | QUARTETCOM TECH BLOG
                                    • Flutterの状態管理ツールをproviderからriverpodに移行しました - Diverse developer blog

                                      id:kikuchy です。 婚活サービスyoubrideのスマートフォンアプリは以前からFlutterを採用しています。 developer.diverse-inc.com このアプリでは、始めはscoped_model、次にproviderを状態管理ツールとして採用してきました。 この度、通常の開発を大きく止めることなくproviderからriverpodへと移行できたので、どのように移行したのかをお話したいと思います。 前提:なぜriverpodにしたのか providerパッケージ(以下、provder)もriverpodパッケージ(正確にはflutter_riverpodパッケージ。以下、riverpod)も同じ作者(Remi Rousseletさん)による状態管理&依存性注入のためのライブラリです。 両者で実現できる機能はほとんど変わりません。 できることは主に以下のとおりです

                                        Flutterの状態管理ツールをproviderからriverpodに移行しました - Diverse developer blog
                                      • SIOS Tech. Lab - エンジニアのためになる技術トピックス

                                        2024-06-24 DomainObjectからValueObjectを自動生成するOSS作ってみた ~ ts-vo-generator~

                                          SIOS Tech. Lab - エンジニアのためになる技術トピックス
                                        • SIOS Tech. Lab - エンジニアのためになる技術トピックス

                                          初めに こんにちは。 PS/SLの佐々木です。 最近輪読会でDDDについての書籍を扱っているのですが、その中でValueObjectを作るのか作らないのか論争が巻き起こっています。 私自身作るに越したことはないと思うので […]

                                            SIOS Tech. Lab - エンジニアのためになる技術トピックス
                                          • バリューオブジェクト - Martin Fowler's Bliki (ja)

                                            http://martinfowler.com/bliki/ValueObject.html プログラミングをする時、物事を複合物として表現すると便利だと思うことがよくあります。 例えば、2次元座標はx軸とy軸で構成されます。お金の額面は数値と通貨で構成されます。日付の範囲は開始日と終了日で構成されます。日付は年、月、日で構成されることもあります。 これを実践してみると、2つの複合オブジェクトが同じものであるかどうかという疑問が湧いてきます。 例として、2つの点オブジェクトを考えてみましょう。それらは両方とも(2,3)のデカルト座標を示しています。この2つの点オブジェクトを等価として扱うことは理にかなっています。 プロパティの値が同じであるオブジェクト(この場合のプロパティはx座標とy座標)はバリューオブジェクトと呼ばれます。 しかしながら注意してプログラミングしないと、意図した動作になら

                                            • Laravel で Enum を使う - Qiita

                                              この記事について Laravel で Enum 使うときにどのパッケージを使うといいか、というのを調査してみました。 比較対象は以下の3つです。 myclabs/php-enum BenSampo/laravel-enum nasyrov/laravel-enums 参考) SplEnum 以下、php-enum, laravel-enum, laravel-enums と記します。 php-enum 以外は Laravel 用となってまして、 php artisan make:enum でスケルトンをつくることができます。 SplEnum は pecl が必要なので除外しますが、はやく標準で使えるようになってほしいものです。 結論 php-enum でいいのではないか、と思いました。 laravel-enums と迷ったんですが、 artisan make:enum は出力先が固定されて

                                                Laravel で Enum を使う - Qiita
                                              • 【PHPでDDD】ドメイン駆動設計と上手く付き合う方法

                                                私は小規模な会社の代表を務めながら現場でコードも書くフルスタックエンジニアです。 今回の記事では、会社経営や現場の両方から見たDDDと上手く付き合う方法の一つを紹介したいと思います。 あくまでも弊社で決定している開発方針になりますので、「推奨する」方法ではありません。この記事は一例に過ぎませんが、皆さんの参考になればと思います。 DDDの導入を拒む企業が多い理由 DDDの導入に否定的な企業が多いと感じます。その理由をざっくり上げてみます。 人材の教育が大変 開発のオーバーヘッドが大きい コストがかかる(インフラ、勉強、時間などのコスト) 導入のメリットがイマイチわからない ざっくりではございますが、こんな感じでしょうか。 DDDを商業プロジェクトに導入するまでの道のりは確かに長いです。また、データを軸に設計していた開発者に、ドメインを中心に設計する方法に慣れてもらう必要があり、手間がかかる

                                                  【PHPでDDD】ドメイン駆動設計と上手く付き合う方法
                                                • pirka公式サイト

                                                  概要 IOP とは IOP(アイオーピー)とは インターフェース指向プログラミング(Interface Oriented Programming)の略称で、 プログラミング時に必要となるソースコードなどのファイル作成を設計時に発生する各種ドキュメント等 (インターフェース)から情報を取得し、取得した情報を基にして自動生成する手法です。 注意、IOPは思想です、pirkaIOPとIOP-toolは同じものでIOPを意識したツールの名称です。 CSVファイル出力プログラムを作成しようと思った場合、MVCモデルで作成すると、CSVファイル出力クラス、 CSVデータ抽出クラス、CSVバリューオブジェクト等を作成することになると思いますが、 (人によって考えが違うためこれが正解ではありません、例として捉えてください) IOP-toolでは、作成予定のCSVファイルそのものを取り込み、それ

                                                  • 3分でわかる値オブジェクト

                                                    "よくある"クラスの特徴を簡単にまとめます。 int型やDate型など、言語で用意された型を使用してフィールドが宣言されている getter/setterメソッドが実装されている このような一般的なクラスの一体何が問題なのでしょうか。 よくあるクラスの問題点 さきほど二つの特徴をあげましたが、よくあるクラスにはこれらに関連した大きな問題点があります。それは、業務アプリケーションを作り上げるために存在するクラスであるにも関わらず、「業務ルールに反した値や操作を許す構造になっている」ことです。実際のソースコードを見てみましょう。 コードで見てみる問題点 例として、先のクラスのポイント(point)というフィールドを考えることにします。仮に、「ポイントは0から1000までとすること」という業務ルールがあるとしましょう。しかし、Taskクラスにおけるポイントはint型で宣言されていますから、こんな

                                                      3分でわかる値オブジェクト
                                                    • SIOS Tech. Lab - エンジニアのためになる技術トピックス

                                                      2024-06-24 DomainObjectからValueObjectを自動生成するOSS作ってみた ~ ts-vo-generator~

                                                        SIOS Tech. Lab - エンジニアのためになる技術トピックス
                                                      • クリーンアーキテクチャをミニマルで実装可能な形にした Simple Clean Architecture という考え方 - Qiita

                                                        これは、ソフトウェアアーキテクチャの一つである Clean Architectureを、開発現場での実運用(特にC#, Unityでの開発)に合わせて調整した Simple Clean Architecture の解説記事です。(英語版はこちら) なぜアーキテクチャが必要なの? ソフトウェアは、どんな実装でもできます。あなたが個人開発をする限り、そしてあなたがコードのすべてを把握できている限り、どんな実装をするのも自由です。ただし、実際にビジネスの現場で、複数人で大規模なコードをみんなで作り上げていくときに、問題が出てきます。あなたの書いた天才的なコードは、他の人から見ると理解に時間がかかり、バグを誘発しやすい難解なものになっているかもしれません。アーキテクチャの使命は、ソフトウェアの構造にルールを課すことで、コードに一貫性をもたせ、これにより開発スピードとクオリティを上げることです。 特

                                                          クリーンアーキテクチャをミニマルで実装可能な形にした Simple Clean Architecture という考え方 - Qiita
                                                        • Laravel で API サーバを実現する際の構成案 - s平面の左側

                                                          背景 SPA (Single Page Application)を作るにあたって、サーバサイドは純粋に JSON API だけを提供するということもある。 これを Laravel で実現する際の構成について考え・検証したものを GitHub にあげた。 github.com この記事ではその内容を(ほぼ)コミット単位で解説していく。 リポジトリについて もともと docker-compose を使って Laravel の開発環境を手軽に作るためのものとして作ったリポジトリである。 今回は、そのリポジトリから skelton-api というブランチを切って検証を行った。 リポジトリルート直下にある .env.example をコピーして .env ファイルを作成・編集して任意の値をセットしたのち、 make setup を叩くことでローカルで動作させることができる。 Laravel で実装し

                                                            Laravel で API サーバを実現する際の構成案 - s平面の左側
                                                          • Entity Framework - Entity Framework 6: 上級者向けエディション

                                                            このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 Entity Framework 6: 上級者向けエディション Julie Lerman Entity Framework の最新メジャー リリースの EF6 により、マイクロソフトのオブジェクト リレーショナル マッピング (ORM) ツールは "上級者向けツール" という新たなる高みに達し、長年利用されてきた .NET ORM ツールのような初心者向けツールではなくなりました。EF は全面的に進化し、これまでのツールを上回る魅力的なツールになっています。 データベース開発者向けのツールとして始まった Entity Framework は、当初、.NET コミュニティの中でもアジャイル開発者の激しい怒りを買

                                                              Entity Framework - Entity Framework 6: 上級者向けエディション
                                                            • Bootiful SQL Templateという名前にしてMavenリポジトリで公開しました。 - 谷本 心 in せろ部屋

                                                              年末に作ったSqlTemplateですが、自分の仕事でも使いたいっていうか使ってるので、 ソースコードを多重管理しなくて済むよう、Mavenリポジトリで公開することにしました。 こんな指定で使えます。 <dependencies> <dependency> <groupId>ninja.cero.bootiful-sqltemplate</groupId> <artifactId>bootiful-sqltemplate-core</artifactId> <version>1.0.1</version> </dependency> ... </dependencies> ドメイン名は、ninja.cero-tにしようかと思ったんですが、 ハイフンとかアンダースコアとかをURLに入れるな勢が多いので、 ninja.ceroっていうちょっと語呂のよくないドメイン名になっています。 そんな話は

                                                                Bootiful SQL Templateという名前にしてMavenリポジトリで公開しました。 - 谷本 心 in せろ部屋
                                                              • ActiveRecord::Aggregations::ClassMethods

                                                                Ruby on Rails 7.1.3.3 Module ActiveRecord::Aggregations::ClassMethods activerecord/lib/active_record/aggregations.rb Active Record Aggregations Active Record implements aggregation through a macro-like class method called composed_of for representing attributes as value objects. It expresses relationships like “Account [is] composed of Money [among other things]” or “Person [is] composed of [an] a

                                                                • 2009-05-01

                                                                  まずは、設計・実装における Value Object を整理した方が良さそうなのでまとめてみました。 Value Object の設計方法としては、以下の3通りがあると認識しています。 # 仕事で主に使用してきた言語が C++ と Java なので、もし他にもあればご教示ください。 1. Singleton インスタンスを1つしか生成しないパターンです。 Java の enum がこれに該当します。 同一性は == で判定することができます。 2. 不変オブジェクト インスタンスが1度生成されたら、属性の変更を許可しないパターンです。 Java のプリミティブ型のラッパークラス(Integer など)、String、BigDecimal などが該当します。 Java の場合、hash と equals メソッドをオーバライドする必要があります。 3. スコープ外へ公開する際に複製する クラ

                                                                    2009-05-01
                                                                  • ドメイン駆動でインターフェース指向な開発 - Qiita

                                                                    この記事は一休.comアドベントカレンダー2017の10日目です。 システム本部 CTO室 エンジニアの @yu-sa です。 今回はとある開発で、ドメイン駆動設計で,インターフェース指向を意識した環境での開発に携わった際の知見を記事にさせて頂きたいと思います。 自分は今まで、SmartUIな開発ばかりしてきたため、今回の開発では多くを勉強させていただきました。そんな経験談や調査内容をまとめて共有したいと思います。 参考記事 ドメイン駆動設計の道標 Python におけるドメイン駆動設計(戦術面)の勘どころ [DDD]ドメイン駆動設計で実装を始めるのに一番とっつきやすいアーキテクチャは何か ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく 最後のまとめをはじめに アーキテクチャと実装例を見て、ドメイン駆動設計のイメージを理解。 ユビキタス言語についての理解を深める。 ドメイ

                                                                      ドメイン駆動でインターフェース指向な開発 - Qiita
                                                                    • DDD基礎解説:Entity、ValueObjectってなんなんだ - Qiita

                                                                      はじめに DDDの実装パターンとして、EntityとValueObjectというものがあります。 ドメイン駆動一般に複雑な抽象論が多い中で、コードに近く一番イメージがつきやすいコード事例として出てくるため、ここだけは何となくわかるぞ!という方もいらっしゃるのではないでしょうか。 今日はこちらの概要とそれぞれの使い道について書きたいと思います。 先にざっくりイメージ図をお伝えすると、こういう図を使って解説します。 何の目的で作るのか? ドメイン駆動設計は何を解決しようとしているのか こちらの記事で、ドメイン駆動設計のアプローチはは以下の2ステップがあるということを書きました。 ドメイン(ソフトウェア化対象の世界)に対して、システムで使うためのモデルを作成する モデルをソフトウェア(コード)に落とし込む DDDでは、このStep2の モデルをコードで表現するためのパターン として、以下の4つを

                                                                        DDD基礎解説:Entity、ValueObjectってなんなんだ - Qiita
                                                                      • レガシーなコードにドメイン駆動設計で立ち向かった5年間の軌跡 に参加してきました - システム開発で思うところ

                                                                        ddd-alliance.connpass.com に参加してきました。 懇親会にも参加*1。 さて、ブログに勉強会のことを書こうかな、と思ったのですが 私が、いい加減に まとめるよりも 遥かに良く かつ 素早いまとめがありましたので、そちらを紹介。 dev.classmethod.jp 私は、懇親会や その時に考えたことを ツラツラと綴ることにします。 勉強会 立ち上げ時の難しさと、継続するための難しさと、それぞれに施策を 現場の立場(つまり 知った顔のコンサルの営業トークではなく)で聞かせていただけたのは、本当に貴重な経験でした。 ごめんなさい、というところは「ドメイン駆動設計 失敗した事と成功した事」を聞いた後は、ちょうど 自分がアプリケーション層について 色々と考えているタイミングだったので、以降の話は 話半分しか入ってこなかったというところです。 感想と考察 ちょうど学びたかった

                                                                          レガシーなコードにドメイン駆動設計で立ち向かった5年間の軌跡 に参加してきました - システム開発で思うところ
                                                                        • [Tool] Google SpreadSheetでマクロを使って作業を効率化 - YoheiM .NET

                                                                          こんにちは、@yoheiMuneです。 Googleのスプレッドシート(Excelみたいなやつ)を使ってますか? そして、スプレッドシートにマクロ機能が付いていることは知ってますか?? 私最近知ったのですが、とっても便利な機能で使っているので、今回はブログで紹介したいと思いました。 Google SpreadSheetのマクロ機能とは SpreadSheetは、Microsoft Excelみたいなやつで、表とかを図形とか簡単に描画できるオンラインツールです。 個人的にはExcelより気に入っていて、複数人での共有がすごく楽だったり、異なるPCでも同じ内容にアクセスできたりと便利なのでございます。 そして今回はそのSpreadSheetのマクロ機能(=Script)の紹介です。 SpreadSheetのメニューバーで、「Tools -> Script manager」と開くとScriptが

                                                                            [Tool] Google SpreadSheetでマクロを使って作業を効率化 - YoheiM .NET
                                                                          • 並列バッチデータ転送OSSのEmbulkをソースコードリーディングしてみる(その3:run概要&データソース概要 - 夢とガラクタの集積場

                                                                            こんにちは。 前回で初期化部分の確認が終わったため、今回は本処理の方に入ってきます。 尚、ServiceLoaderでJava製プラグインがロード出来るかについてはとりあえず一通り読んでからの方針で^^; まず、基本構造としては 上記の図にあるRunnerが起動の起点となり、初期化を行った後に run/cleanup/guess/previewの各々の処理に分岐する流れとなっています。 まず今回はrun処理の流れを追ってみることにします。 1. run処理の流れ概要 run処理の流れは下記のようになっています。 設定ファイル(YAML形式)を読み込む。 出力ファイル(次回実行用の設定出力先、Resume状態の出力先)の出力可能確認を行う。 Resume状態ファイルを読み込む。 Executorクラスを生成する。 Resume状態にあわせて処理を実行する。 実行失敗した場合、Resume出力

                                                                              並列バッチデータ転送OSSのEmbulkをソースコードリーディングしてみる(その3:run概要&データソース概要 - 夢とガラクタの集積場
                                                                            • 結構楽にAMFする方法 - hirossy javaとFlex2と。

                                                                              GW明けてそろそろブログ再開しまーす 今日は名古屋 WCAN mini ASでの AMFPHP+S2Flex2Componentsの話を載せるのを 忘れてましたので、それを書いておきます。 では、結構楽にAMFする方法です。 4/21名古屋と4/28大阪でお話させて頂いた内容の一部です。 わたしの思う一番簡単にAMF通信する方法(正確には「一番簡単にAMF通信する環境を作る方法」)は、 まちがいなくDoltengだと思うのですが、 javaを使用しない場合では、 ・サーバーサイドにAMFPHP ・AS3のAMF通信コンポーネントにs2flex2-components の組み合わせがなかなか楽で良いと思います。 で、やってみます。 ■環境を用意する 1) AMFPHPをインストール http://www.amfphp.org/からダウンロード ダウンロードしたファイルを解凍して、プロジェクト

                                                                                結構楽にAMFする方法 - hirossy javaとFlex2と。
                                                                              • C#でドメイン駆動開発パート1【C#でドメイン駆動開発とテスト駆動開発を使って保守性の高いプログラミングをする方法】

                                                                                ドメイン駆動開発のデザインパターンであるRepository,Entity,ValueObjectの実装方法とMoqを使ったテスト駆動開発を一緒にプログラミングをしながら解説していき,一つのアプリケーションを作成します。 1行ずつ記述しながらの解説なので一緒に手を動かしながら理解できる 1日1時間学べば1週間で知識の習得ができる 5000円から10000円くらいの分厚い本を何冊も読んで数年間の商品開発の現場で実践し、 改良に改良を加えた最終形を1週間で学べる 実装はドメイン駆動開発とテスト駆動開発に集中できるように、 画面はWindowsFormで作成します テストコードはMoqなどのツールを使いテストしづらいデータベース周りのテスト方法を解説 全編テスト駆動開発での実装を行うためテスト駆動開発の知識が習得できる ドメイン駆動開発のRepository、Entity、ValueObject

                                                                                  C#でドメイン駆動開発パート1【C#でドメイン駆動開発とテスト駆動開発を使って保守性の高いプログラミングをする方法】
                                                                                • C# ドメイン駆動設計(DDD)とは何か - sheephumanのブログ

                                                                                  21/03/11 表示がおかしかったのを手直し。ソースファイルを上げた。MarkDownは編集しにくい。 ドメイン駆動開発とも言われている、ソフトウェア開発手法の僕なりの理解です。 以下の講座を履修して学びました。 C#でドメイン駆動開発パート1【C#でドメイン駆動開発とテスト駆動開発を使って保守性の高いプログラミングをする方法】 | Udemy 自分で作成したソースプロジェクト 具体的な構成 View(UI) ViewModels Entityクラス まとめ 自分で作成したソースプロジェクト ※1 全く同じではありません。かなり手抜きをしてる。一応動きます。 ※2 DbはPupsSQLite(http://www.eonet.ne.jp/~pup/software.html)で作りました。 ※3 どうしても動かないという方は参考にするのもいいかもしれません。自力で組んだ方がいいけどね。

                                                                                    C# ドメイン駆動設計(DDD)とは何か - sheephumanのブログ