OOに関するouobpoのブックマーク (26)

  • Collection Pipeline

    Collection pipelines are a programming pattern where you organize some computation as a sequence of operations which compose by taking a collection as output of one operation and feeding it into the next. (Common operations are filter, map, and reduce.) This pattern is common in functional programming, and also in object-oriented languages which have lambdas. This article describes the pattern wit

    Collection Pipeline
    ouobpo
    ouobpo 2014/07/22
    関数型っぽいプログラミングスタイルのパターン
  • リッチなドメインモデル 名前探し

    より詳細なCQRSに関する資料はこちら https://little-hands.hatenablog.com/entry/2019/12/02/cqrs 参考資料:http://little-hands.hatenablog.com/entry/jjug2017fall 社内新規プロダクトでDDD, CQRSの思想をベースとしたアーキテクチャを構築し、コマンド(更新系処理)ではSpring Data JPA(Hibernate)を、クエリ(参照系処理)ではjOOQを採用しました。 結果としてそれぞれのORMの良いところを生かした組み合わせのアーキテクチャが構築できたので、その経緯と得られた知見についてお話ししたいと思います。 以下のようなトピックを考えています。 ・CQRSの定義とメリットデメリット ・DDD,CQRSを検討するにあたってのORMの選定ポイント ・構築したアーキテクチャ

    リッチなドメインモデル 名前探し
  • Implementing Domain-Driven Design | InformIT

    Overview Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site. This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pear

  • ちいさなオブジェクトでドメインモデルを組み立てる

    より詳細なCQRSに関する資料はこちら https://little-hands.hatenablog.com/entry/2019/12/02/cqrs 参考資料:http://little-hands.hatenablog.com/entry/jjug2017fall 社内新規プロダクトでDDD, CQRSの思想をベースとしたアーキテクチャを構築し、コマンド(更新系処理)ではSpring Data JPA(Hibernate)を、クエリ(参照系処理)ではjOOQを採用しました。 結果としてそれぞれのORMの良いところを生かした組み合わせのアーキテクチャが構築できたので、その経緯と得られた知見についてお話ししたいと思います。 以下のようなトピックを考えています。 ・CQRSの定義とメリットデメリット ・DDD,CQRSを検討するにあたってのORMの選定ポイント ・構築したアーキテクチャ

    ちいさなオブジェクトでドメインモデルを組み立てる
    ouobpo
    ouobpo 2013/01/09
  • オブジェクト指向の設計と実装の学び方のコツ

    BtoB SaaSの会社でDDDを活用して事業を成長させてきた中で、DDDのプラクティスの実践という面ではかなり大きな成果が得られました。 しかし、事業を成長させるという点において、DDDのプラクティスだけではうまくいかないこともあり、別のアプローチも同時に試行錯誤しています。 この発表では、うまく行ったプラクティスの内容と、カバーできなかった課題、そこに対する現在の取り組みについて紹介します。 ドメイン駆動設計 サンプルコード&FAQ https://little-hands.booth.pm/items/3363104 ドメイン駆動設計 モデリング/実装ガイド https://little-hands.booth.pm/items/1835632 ドキュメント内のブログ記事URL https://little-hands.hatenablog.com/entry/2020/12/22/

    オブジェクト指向の設計と実装の学び方のコツ
    ouobpo
    ouobpo 2012/09/13
    増田亨さんのオブジェクト指向入門。非常にクオリティが高い。
  • Create UML diagrams online in seconds, no special tools needed.

    Auto-generate on. Press Ctrl+E to force regenerate image. UPDATE: March 26th 2020 - We're fixing issues with the new parser as they get reported. Sorry if we broke you diagrams! See here for more information.

    Create UML diagrams online in seconds, no special tools needed.
    ouobpo
    ouobpo 2012/03/31
    Lightweight web UML drawing tool.
  • Amazon.co.jp: プログラミングScala: Dean Wampler (著), Alex Payne (著), 株式会社オージス総研オブジェクトの広場編集部 (翻訳): 本

    Amazon.co.jp: プログラミングScala: Dean Wampler (著), Alex Payne (著), 株式会社オージス総研オブジェクトの広場編集部 (翻訳): 本
    ouobpo
    ouobpo 2011/01/09
    よろしくお願いします。
  • 言葉とコード - Digital Romanticism

    システム開発における言語的要素の重要性について、書籍を参照しつつ私見を整理する。 導入 世の中には「文系プログラマ」という表現がありますが、私もそのカテゴリに入る人間です。それも文系度はかなり高く、文学部でいわゆる思想史的なことを勉強していたんですね。文系の思想研究とソフトウェア開発との間には、かなり深い溝が横たわっていると思う人が多いですし、私自身も当初はそう思っていたのですが、時間が経つにつれて両者の間には相通じるものが確かにあると考えるようになってきました。それはどちらも質的には「言葉」を扱うものだということです。特定の処理はどう実現するかよりはむしろ、どう表現するかという問題であるということですね。より正確に言うならば、この実現手段と言語的表現を限りなく近づけることができるパラダイムがオブジェクト指向である、ということなのかもしれません。 特定の抽象度からある概念を捉えること。そ

    言葉とコード - Digital Romanticism
    ouobpo
    ouobpo 2010/01/17
    素晴らしい記事。不在の中心としてのドメインモデル。
  • Objective Caml 入門

    Objective Caml 入門五十嵐 淳 京都大学 工学部情報学科計算機科学コース 大学院情報学研究科知能情報学専攻 e-mail: igarashi@kuis.kyoto-u.ac.jp September�24, 2007 Contents Chapter�1�� 1.1��関数型言語 ML と Objective Camlについて 1.1.1��ML・Objective Caml の特徴 1.2��参考書,資料,マニュアル 1.3��環境設定 Chapter�2�� 2.1��インタラクティブコンパイラを使う 2.1.1��簡単な使い方 2.1.2��その他: ファイルからのプログラムの読み込み・コメント 2.2��基データ型とその演算 2.2.1��unit型 2.2.2��int型 2.2.3��float型 2.2.4��char型 2.2.5��string型 2

    ouobpo
    ouobpo 2010/01/14
    五十嵐先生のOCaml入門
  • InfoQ: データ、コンテキスト、相互作用 : James O. Coplien氏とTrygve Reenskau氏による新しい設計方法

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    InfoQ: データ、コンテキスト、相互作用 : James O. Coplien氏とTrygve Reenskau氏による新しい設計方法
    ouobpo
    ouobpo 2010/01/07
    DCI=ロールモデルじゃん、と思ったらReenskaugさんが関わっているからか。彼はロールモデリング方法論OORAMの提唱者。
  • 開発コアメンバが語るRubyの今とこれから(前編) - @IT

    Ruby 1.9は移行準備オッケー @IT yuguiさんは、2009年2月のDeveloper's Summitの講演で、そろそろRuby 1.8系から1.9系への移行を始めるべきだと主張されてましたね。 園田裕貴氏。裕貴のピンイン表記である「yugui」のハンドル名で知られている。Ruby 1.9系統リリースマネージャで、Rubyコミッタ。1981年生まれ。著書に『初めてのRuby』(オライリージャパン)がある。最近はRailsアプリケーションをよく書いているという yugui ええ、一般のRubyユーザーはRuby 1.9への乗り換えは慎重にという立場の人もいますけど、私はそろそろ移行を考える時期だと思います。 @IT もう1.9に移行してもオッケーだと。 yugui もう根的な仕様が変わることはないという意味でオッケーです。2007年12月に出た1.9.0は、仕様が煮詰まっていな

    ouobpo
    ouobpo 2009/07/27
    これは内容が濃い。ちゃんと読まないと。
  • 戦略的デザインに関する意思決定のための6つのエッセンス - Digital Romanticism

    Eric Evans氏の名著"Domain-Driven Design"第17章より、戦略的デザイン("Strategic Design")のためのエッセンスをまとめた部分について要約とコメント。 Six Essentials for Strategic Design Decision Making 決定はチーム全体に行き渡らなければならない 戦略はメンバー全員が知る必要がありますが、かといって中心にすえられるのが「象牙の塔のアーキテクト」だとうまくいきません。コミュニケーションがうまくいっているプロジェクトでは、アプリケーションチームから発生した戦略的デザインこそが全体に行き渡り、正しい意思決定をする上での権威を持ちます。どんなシステムであっても大切にしなければいけないのは、マネジメントによって与えられた権威よりも開発者が戦略に対して持つ実際の関係なのです。 決定のプロセスはフィードバッ

    戦略的デザインに関する意思決定のための6つのエッセンス - Digital Romanticism
    ouobpo
    ouobpo 2009/06/24
    DDDの戦略的デザインのための6つのエッセンス。id:digitalsoul GJ!
  • http://atnd.org/events/535

    http://atnd.org/events/535
    ouobpo
    ouobpo 2009/04/15
    Tamachi.oo
  • DDD: Only for complex projects? | Mark Needham

    ouobpo
    ouobpo 2009/04/07
    DDD-Lite=DDDパターンだけを適用するアプローチ。
  • XXXUtils の乱用をやめる - Calendar 編 - Aufheben - GLAD!! の日記

    標準のライブラリが使いにくいとき、つい XXXUtils のようなクラスを作ってしまいがちです。 例えば、悪名高き java.util.Calendar。来年の2月15日が何曜日か調べようと思ったら、次のようなコードを書かなければなりません。値の取得も設定も面倒で、なぜか月が0始まりになっています (歴史的な制約?)。 Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.YEAR, 1); // 2月は month = 1 calendar.set(Calendar.MONTH, 1); calendar.set(Calendar.DAY_OF_MONTH, 15); // 文字列に変換する場合は、DateFormat を使用する。 DateFormat df = new SimpleDateFormat("E

    XXXUtils の乱用をやめる - Calendar 編 - Aufheben - GLAD!! の日記
    ouobpo
    ouobpo 2009/03/26
  • Napkin UML | Graffletopia

    ouobpo
    ouobpo 2009/03/24
    hand-written UML Stencil for OmniGraffle
  • モデルとは何か - Digital Romanticism

    「Model View Controller」や「モデル駆動」など、ごく当たり前に使用されるようになった「モデル」という言葉をDDDに準拠しながら再考する。 導入 「オブジェクト指向」「モデル駆動」「ドメイン駆動」という表現はすっかり日語として定着しており、ある一定の共通認識も出来上がってきているように感じます。しかし、「オブジェクト」「モデル」「ドメイン」という概念が当にきちんと日語としての文脈の中に位置づけられているのかというと、結構怪しいことも多いのではないでしょうか。このあいまいさの原因ははっきりしていて、向こうの国で膨大な文脈の中に位置づけられている単語を日語にすることなく、なんとなくカタカナで表現してしまっていることでしょう。もっとも、この悪い癖は今に始まったことではなく、「エラン・ヴィタール」や「ルサンチマン」に見られるように、それなりの歴史があるのかもしれませんが。

    モデルとは何か - Digital Romanticism
    ouobpo
    ouobpo 2009/03/07
    ドメインとモデルという言葉についての深い考察
  • Spolsky vs Uncle Bob

    What's New in PHP 8.3 PHP 8.3 is the latest major update in the PHP 8.x series. In addition to performance improvements, it brings a wealth of new features, including amendments to the readonly feature introduced in PHP 8.1; explicitly-typed class constants; a new #[\Override] attribute for methods intended to be overridden from a superclass, and more.

    Spolsky vs Uncle Bob
    ouobpo
    ouobpo 2009/02/18
    JoelがUncle Bobに噛み付いた。
  • 2009-02-01

    あちこちのサイトを見てると、間違った解釈をしてるのが多い。カプセル化なんて、情報隠蔽まで含んでるのが常識になりつつあるような。。。ここまで一般化してると情報隠蔽してるのがカプセル化というのが常識なのかも。 カプセル化・情報隠蔽・データ抽象化 - 今日の役に立たない一言 − Today’s Trifle! − カプセル化と情報隠蔽、データ隠蔽の違いがよくわからくなったので、手持ちので調べてみた。 基準 基準としては、 カプセル化、情報隠蔽、データ隠蔽の関係 カプセル化は隠蔽を含んでいるかどうか 対象はクラスのみか、そうでないか などなど。 一番目はそのまんま。二番目は、 // 隠蔽せずともカプセル化か class Hoge { int hoge; // なんかhogeを使うメソッド } // 隠蔽しなければカプセル化ではないか class Piyo { private int piyo;

    2009-02-01
    ouobpo
    ouobpo 2009/02/01
    情報隠蔽とカプセル化の違いについて非常に丹念に調査している。
  • ソフトウェア設計で大切なこと(2/2):An Agile Way:オルタナティブ・ブログ

    前ブログの続き。。。 土曜日日曜日に、「サンデーソングブック」という山下達郎のFMラジオ番組があり、愛聴しているのだが、そこで取り上げられる楽曲は「時代を超えて残る曲」だ。達郎自身、「長く残る曲というものはどういう特徴を持つものか、に興味がある」と言っていた。 これに触発され、より長く残る価値観、を見つけて、それを後輩たちに伝えたいと思う気持ちが僕の中で最近高まってきている。前ブログでは、ずっと「よい設計とは」として残り続けている設計の特徴を挙げた。 オブジェクト指向技術について、ここ2,3年は「先祖がえり」というか、「長く読まれるであろう価値観に焦点を当てた」が出ていることも動機の1つだ。 Rebecca Wirfs-Brock の『オブジェクトデザイン』 Eric Evan の 『Domain Driven Design』 Ken-Pughの『インターフェイス指向設計』(※1/5追記

    ソフトウェア設計で大切なこと(2/2):An Agile Way:オルタナティブ・ブログ
    ouobpo
    ouobpo 2009/01/04
    「2000年代は、時代が開発手法により過ぎ、ソフトウェア設計に関するエポックメイキングな本が「ほとんど出ていない」」