タグ

OOに関するzbihのブックマーク (49)

  • ドメイン駆動設計という仕事の流儀

    Devlove2012 カンファレンス 発表資料。 ドメイン駆動設計。アプリケーションアーキテクチャ、開発プロセス、設計スタイル。腕を磨く。Read less

    ドメイン駆動設計という仕事の流儀
    zbih
    zbih 2014/02/25
  • オブジェクト指向エクササイズ - Strategic Choice

    書籍「ThoughtWorksアンソロジー」の「第5章 オブジェクト指向エクササイズ」より。概要優れたオブジェクト指向設計の原理を自分のもにし、実際に使えるようになるためのエクササイズ。ほぼ必然的にオブジェクト指向になるコードを書くように強制する9つのルールを、1000行程度のプロジェクトで適用してエクササイズ。要するに、オブジェクト指向の「理解」を「実践力」にするための『練習』メニューの紹介。注意あくまで「練習」で、普遍的なルールとは限らない。ただし、筆者(Jeff Bay)は実際のプロジェクトで適用して上手く運用出来ているらしい。エクササイズ・ルール一覧ルール1:インデント1段階 1つのメソッドにつきインデントは1段階までにすることルール2:else句禁止 else句を使用しないことルール3:プリミティブ禁止 すべてのプリミティブ型と文字列型をラップすることルール4:ドット1つ 1行に

    zbih
    zbih 2014/02/25
  • Componentによるフロントエンドのパッケージ管理

    直近で、新規案件に関わることになりそうなので、ライブラリ選定やタスクランナー、そして今回の依存管理のようにベーシックな話が続いてます。次第に、具体的な実装やコード設計のポストが多くなる・・・はず。 今回はVue.jsでも触れましたが、改めてcomponent - modular javascript frameworkについて。 概要 Componentはパッケージマネージャー兼、依存解決込みのビルドツールです。クライアントサイドについて、JSのパッケージマネージャーやビルダーは既にありますが、Componentは HTML/CSS/JSをセットにして扱うことができます。 npmでいうpackage.jsonと同様に、component.jsonという定義ファイルによって、パッケージの依存関係やリポジトリなどの各種情報を示します。 component/component コア部分のリポジト

    Componentによるフロントエンドのパッケージ管理
  • 情報作業環境モデルが重要な時期がやってきた

    「オブジェクト指向」......。タリジェントやマイクロソフト、ノベル、サン・ソフトなどの主要OS会社が開発に取り組んでいるシステムは、必ずこのキーワードがベースになっている。しかし、この次にどんなコンピュータが出てくるべきか、ということに関してはあまり検討されていないようだ。そこで誌では、川村渇真氏が考えた「思考支援コンピュータ」というシステムを連載で詳しく紹介し、それと対照する形で現在アップルが実現している技術についても見ていきたい。そこで登場してくる新しいキーワードは「思考支援」だ。 まったく新しいコンピュータの姿を提案 読者のみなさんは、現在使っているコンピュータを、使いやすいと感じているだろうか。たしかに、10年以上前には予想もできなかったレベルまで、コンピュータは進歩している。 以前に比べれば操作方法も簡単になったし、扱えるデータの種類も増えた。今では、動画までもが当たり前に

    情報作業環境モデルが重要な時期がやってきた
    zbih
    zbih 2014/01/03
    情報作業環境モデルが重要な時期がやってきた %textQuotePrefix% %quote% --- Shared from Pocket (http://getpocket.com)
  • Beyond MVC

    PHP Advent Calendar 2013 - 6日目 昨日は@fivestrさんのComposerを使った簡単Travis CI設定でした。 TL;DR オブジェクト指向/MVCでうまく捉えきれていなかったものは何なのか?MVCから続くソフトウェアアーキテクチャーの「その先」は何なのか?Reenskaug博士を知っていますか? WikipediaによればReenskaug博士は1930年生まれ。MVCという概念が世の中に送り出された論文『MODELS - VIEWS - CONTROLLERS (pdf)』は1979年ですから、49歳の時ということになります。1960年からソフトウェアを書き始め、1973年からオブジェクト指向でソフトウェアを開発しており、現在でも現役でソフトウェアの世界にいらっしゃいます(ex 2009年の講演)。「プログラマ歴42年 (* Clean Coder

    Beyond MVC
    zbih
    zbih 2013/12/11
    MVCとメンタルモデルの話。そうなんですよね。Cope氏のDCI講演も聴いたしDCI論文も読んだうえで。ただDCI違和感あるけど。
  • ドメイン駆動設計入門

    より詳細な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の選定ポイント ・構築したアーキテクチャ

    ドメイン駆動設計入門
  • クライアントサイドJavaScriptでのビューの作り方4つ - id:anatooのブログ

    追記: 指摘により、UIオブジェクト型を追加した(thx @kanreisa)。 クライアントサイドJavaScriptでのビューの作り方を大別すると、3つ4つある。 DOM操作型 テンプレートエンジン型 UIオブジェクト型 データバインディング型 ここでいうビューの作り方とは、有り体にいうとJavaScriptからどうやってDOM要素を生成したりするかどうか。イベントリスナーの登録とかも含む。 DOM操作型 昔ながらのやり方。jQueryとか使って直接DOM操作してビューを作る。 // 例えば、<div class='hoge'>fugafuga</div> みたいなDOMを表示する var myView = $("<div class='hoge'/>"); myView.text('fugafuga'); // body以下に挿入 $(body).append(myView); 長所

  • artima - The DCI Architecture: A New Vision of Object-Oriented Programming

    Object-oriented programming was supposed to unify the perspectives of the programmer and the end user in computer code: a boon both to usability and program comprehension. While objects capture structure well, they fail to capture system action. DCI is a vision to capture the end user cognitive model of roles and interactions between them. Objects are principally about people and their mental mode

    zbih
    zbih 2013/11/25
  • いつまでPHPerはMVCを間違い続けるのか…? - どうにもならない日々@mkkn

    愚痴です。 やはりお前らのMVCは間違っている http://www.slideshare.net/MugeSo/mvc-14469802 これ45k Viewあって、はブも600あって、Sep 26, 2012の投稿だからもおう1年以上前の話。つーかそれの波及記事もいろいろあってもう既に十分語り尽くされている、はずなのに… なぜか、未だにfat controller もうね。コード見るのが辛いんよ。つーか感覚的に分かりそうなもんじゃん。処理のエントリポイントがこんなになってていいのかなぁ?って。 改修案件でさ、コードどっから参照するよ?コントローラでしょ?んでさーコード調べるぞ!!ってなった時、そのコード見て、、、ため息出るでしょ。ひと目でわからんでしょ。 コントローラなんて,どのモデル読んでてどのview使ってるか、それだけで十分じゃん。パラメータの処理はルーティングでやればいいじゃん

    いつまでPHPerはMVCを間違い続けるのか…? - どうにもならない日々@mkkn
    zbih
    zbih 2013/10/21
  • Conway's Law

    パターン14:Conwayの法則  別名: アーキテクチャは組織にしたがう 組織はアーキテクチャにしたがう 問題: 組織とアーキテクチャの整合 コンテキスト: アーキテクチャ設計者と開発者チームが集まった。アーキテクチャは結構うまく設計されている。 影響する事柄: アーキテクチャは組織の中での情報交換の経路を形作る。 デファクトな組織構成は、形式的な組織構成を形作る。 形式的な組織構成がアーキテクチャを形作る。 初期段階におけるアーキテクチャにしたがった定型化は、単に近似であり不安定である。 解決策: 組織を製品のアーキテクチャに当てはまるようにしなさい。このパターンランゲージにおいて、ここでは、組織がアーキテクチャに影響をおよぼすべきであるというよりも、アーキテクチャが組織に影響をおよぼすべきであるといえるだろう。 結果として生じるコンテキスト: 組織と製品アーキテクチャが整合する。

  • pharocasts.com - このウェブサイトは販売用です! - pharocasts リソースおよび情報

    このウェブサイトは販売用です! pharocasts.com は、あなたがお探しの情報の全ての最新かつ最適なソースです。一般トピックからここから検索できる内容は、pharocasts.comが全てとなります。あなたがお探しの内容が見つかることを願っています!

    zbih
    zbih 2013/08/16
    Pharo debuggerのなかでゴリゴリ書いてくデモ動画
  • bliki: Anemic Domain Model

    This is one of those anti-patterns that's been around for quite a long time, yet seems to be having a particular spurt at the moment. I was chatting with Eric Evans on this, and we've both noticed they seem to be getting more popular. As great boosters of a proper Domain Model, this is not a good thing. The basic symptom of an Anemic Domain Model is that at first blush it looks like the real thing

    bliki: Anemic Domain Model
    zbih
    zbih 2013/05/25
  • Confreaks TV | Keynote: Architecture the Lost Years - Ruby Midwest 2011

    Robert C. Martin (Uncle Bob) has been a software professional since 1970. In the last 40 years, he has worked in various capacities on literally hundreds of software projects. He has authored "landmark" books on Agile Programming, Extreme Programming, UML, Object-Oriented Programming, C++ Programming and Clean Code. He has published dozens of articles in various trade journals. Today, he is one of

  • 分析・設計ツールとしてのSmalltalk

    佐原伸 E-Mail=sahara@sra.co.jp URL=http://www.sra.co.jp/people/sahara はじめに オブジェクト指向開発の時、分析・設計工程で満足して使える良いCASEツールが今の ところない。そこで、オブジェクト指向グループのメンバーは、開発言語である Smalltalk自体を分析・設計ツールとして使っている。このような芸当は、実行時にク ラスの追加や修正や削除ができるSmalltalkのような動的な言語の専売特許で、静的 な言語であるJavaC++では逆立ちしてもできない。 レポートでは、オブジェクト指向分析をどのように行うかを紹介する中で、 Smalltalkの分析ツールとしての能力を披露する 1 。 問題として把握しやすいが、結構歯ごたえがあるということで、例題として、図書館 の貸出管理を取り上げる。 オブジェクト指向分析

  • 『Smalltalk で学ぶオブジェクト指向プログラミングの本質』 - ynakajimaの備忘録

    オブジェクト指向がよくわからないので、オブジェクト指向という言葉の生みの親であるアラン・ケイが作ったオブジェクト指向プログラミング言語 Smalltalk の勉強をしようと思いたち『Smalltalk で学ぶオブジェクト指向プログラミングの質』を買ってみた。 「はじめに」しかまだ読んでないけど Smalltalk がどんな考えで作られたのかということがきちんと書かれており、非常に腑に落ちました!!(今のところ) オブジェクトは細胞のアナロジーであり、複製と差異によって機能するという説明がすごく分かりやすかった。 とりあえず、今日読んだ部分のメモ。 矢と環 矢は、絶えず変化すること、(中略)すなわち、差異を表す 環はもとに戻ること、(中略)すなわち、反復を表す いきなりプログラミングとは関係なさそうな話で始まってます。 要するに、Smalltalk の動作原理は差異と反復だ、ということが書

    『Smalltalk で学ぶオブジェクト指向プログラミングの本質』 - ynakajimaの備忘録
  • Alan Kay 講義ノート

    1994年4月21日、Smalltalk の生みの親である Alan Kay が、立命館大学のびわこ・くさつキャンパスで講演しました。これは、山和彦が作成した聴講ノートです。 タイトル The best way to predict it in the future is invent it. 未来を予見する最良の方法は、それを発明してしまうことだ。 講演内容 アメリカでは、世界を変えてしまうようなとても素晴らしいアイディア --- たとえば民主主義や微積分 --- をハッピーなアイディアと呼びます。時として人は、このハッピーなアイディアを思い付きます。ここでとても面白い疑問が湧きます。 ハッピーなアイディアを思い付くのは、生まれつきの才能でしょうか、それとも、学習によって学べるものなのでしょうか? 私の好きな McLuhan の言葉に I don't know who discover

  • すべてがオブジェクト

  • 生物とオブジェクト指向プログラミング: 細胞とグローバル変数 – Naofumi Kagami

    細胞はグローバル変数問題で悩んでいた オブジェクト指向プログラミングと生物の共通性については別に書いていますが(ブログ内検索)、最近、生物は一つの細胞内ではグローバル変数を使いまくっていることに気づきました。 プログラミングでは何かと悪者にされることが多いグローバル変数ですが、単細胞生物は基的に1つの容器の中で様々な化学反応を起こしているので、信号伝達に関係する分子もあっちこっちに分散してしまいます。その意味で、その分子の濃度などは細胞の中でグローバル変数になってしまいます。グローバル変数になるしか無いのです。 その上、使用できるグローバル変数の名前は限られています。なぜならば、生物における変数というのは化学物質の濃度に相当するわけですが、化学物質のバラエティーはどうしても限られてしまいます。単に文字列を並べればいいというものではないので、いろいろな化学物質を作るのも大変ですし、それ以上

    生物とオブジェクト指向プログラミング: 細胞とグローバル変数 – Naofumi Kagami
    zbih
    zbih 2013/04/28
  • http://publicdraft.studiomohawk.com/2012/12/16/jade-as-prototype-language/

    zbih
    zbih 2013/04/15
    Jade HTMLでプロトタイピング
  • http://blog.iaspectrum.net/2012/07/30/interviewwithy/

    See related links to what you are looking for.

    zbih
    zbih 2013/04/13
    シリアスw