タグ

デザインに関するjamzzのブックマーク (17)

  • DCIアーキテクチャ - Trygve Reenskaug and James O. Coplien - Digital Romanticism

    この記事はartima developerに掲載されている、Trygve Reenskaug氏とJames O. Coplien氏による記事「The DCI Architecture: A New Vision of Object-Oriented Programming」を、著作権者であるBill Bennrs氏の許可を得て翻訳したものです。文内の図の著作権はArtima, Inc.に帰属します。(原文公開日:2009年3月20日) 要約 オブジェクト指向プログラミングはプログラマとエンドユーザの視点をコンピュータコードにおいて統一するものと考えられていた。この恩恵はユーザビリティとプログラムの分かりやすさの両面にわたる。しかし、オブジェクトは構造をとらえるのに長けている一方で、システムの動作をとらえることができていない。DCIはエンドユーザのロールに関する認識モデルとロール間の関係を

    DCIアーキテクチャ - Trygve Reenskaug and James O. Coplien - Digital Romanticism
  • ピタゴラスイッチより | オープンダイアリー

    NHK教育「ピタゴラスイッチ」にて、ランダムに流れる、この曲。 聴いた事ありますか? まずは、以下のユーチューブでご覧下さい。 「ピタゴラスイッチより」 さあ、見てもらえましたか? ちょっと感動しちゃったでしょ? DNAに、ダイレクトに響いてきますね(謎)。 映像効果なのか、最後の「うちにかえると」のところで・・・、 不覚にも涙が出そうになりました。 当たり前の風景なのだけど、自分がその立場にないからかも知れません。 外に行くと、会社員だったり、お客さんだったり、患者さん(劇汗)だったり・・・。 でも、うちに帰ると、たったひとりの大切なおとうさん。 子供が走ってきて、抱っこされるシーンなんて、号泣もんですね。 また、子供にとってはおとうさんなんだけど、社会に出ればいろんな役目があって、いろんな立場があるって言う、メッセージにもなっていると思います。 歯医者の場面では「うへー」って感じだった

    ピタゴラスイッチより | オープンダイアリー
    jamzz
    jamzz 2010/04/12
    「ぼくのおとうさん」をモデリングするとどうなる?
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • アレグザンダー祭りにて、James.O.Coplienが語るアジャイルとスクラムの源流とは

    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が最近リリースされ、重要な変...

    アレグザンダー祭りにて、James.O.Coplienが語るアジャイルとスクラムの源流とは
  • 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氏による新しい設計方法
    jamzz
    jamzz 2010/04/02
    『どうあるか』は宣言的知識、『どうするか』は手続き的知識。ロールの表現にはC#の拡張メソッドの目的と合っているように思われる。
  • とある契約の備忘目録。契約による設計(Design by Contract)で信頼性の高いソフトウェアを構築しよう。 - Bug Catharsis

    「より堅牢で正確性の高いソフトウェアを作りたいぜ!」と願う.NETデベロッパーお待ちかねの、 契約による設計(DbC)をサポートするCode Contractsが.NET Framework4より利用できるようになります。 C#をベースとして契約による設計をサポートする「Spec#」を利用するという方法もありますが、 学習負担を軽減するためにと、マイクロソフトは言語を意識しなくても開発者が利用できるように、 Code Contractsとして.NET Frameworkで契約をサポートしてくれました。 これは、オブジェクト指向および、オブジェクト指向プログラミングが大好きな.NET開発者にとって、とても良い知らせです。 わたしも待ち望んでいたうちのひとりです。ありがとうマイクロソフト!!という気持ちでいっぱいです。 VisualStudio2010が4月12日(米国)にローンチされることが

    とある契約の備忘目録。契約による設計(Design by Contract)で信頼性の高いソフトウェアを構築しよう。 - Bug Catharsis
  • Martin Fowler's Bliki in Japanese - 実例による仕様書

    http://martinfowler.com/bliki/SpecificationByExample.html XP/Agile Universe 2002のワークショップで「Specification By Example(実例による仕様書、SbE)」という言葉に心を奪われた。これは、XPにおけるテストのあり方のひとつではないか。 (このところ、テスト駆動開発(TDD)のテスト部分を語るのは流行遅れなのだそうだ。ひどい話だ。Jonと同じく、私も、そんな副次的なものなんかよりも包括的な自動テストにこそTDDの真髄があると考えている。 例えば、誰かに「100万ドルあげるから山にハイキングしておいで」と言われたとしよう。私は胸を張ってこう言うね。「今回のハイキングの目的は、自然の美を堪能するためである」と。いや、まあ、もちろん、懐もあたたかくなるけど……ね。 ) 仕様書について議論する際、

    jamzz
    jamzz 2010/01/25
    シナリオの重要性に関連
  • オブジェクト指向の法則集

    1999/07/07 更新 石井 勝 はじめに ここでは,オブジェクト指向に出てくる法則・原則をまとめました.パターンに比べてほとんど知られていないのが現状ですが,優れたオブジェクト指向開発者を目指すならデザインパターンよりまずこっちを理解し覚えてしまいましょう. これらの法則は,絶対守らなければならないというものではありません.開発中に法則が守られているか意識することが重要です.つまり 今行っている設計はその法則が守られているだろうか その法則を破っている場合,破るべき正当な理由があるだろうか と絶えず考えるようにしましょう.そうするとそれは自然に優れたオブジェクト指向設計になるのです.つまりこれらの法則は,優れたオブジェクト指向開発のための指針なのです. Robert C. Martin の Principles of OOD Robert C. Martinは,オブジ

  • XP Epsiode

    Chose Vacation RentalsTips for renting your Vacation Rentals Whether you are a tenant or a landlord, here are some practical tips to help you prepare your vacation. Booking a vacation rental The reservation of your holiday rental is made directly with the landlord. It is recommended to confirm your reservation by sending a rental contract and a deposit or deposit. The balance of the stay will be p

    jamzz
    jamzz 2009/12/20
    Robert C. Martin の Principles of OOD
  • Martin Fowler's Bliki in Japanese - ローカルDTO

    http://martinfowler.com/bliki/LocalDTO.html (最後の部分を更新) ThoughtBloggersをよく見ているんでしたら、 fowlbotのひとりが怒っているのをご存じかもしれません。 オーストラリアの太陽がスウェーデンのモデルをジリジリと焦がしています。 JonはData Transfer Objects(邦訳)にムカついているようですが、 これはDTOが悪者ということではありません。 他のパターンと同様、ある文脈内でのみ有用というだけのことです。 パターンは常に2つの部分に分けられます。 「どのように使うか(How)」と「いつ使うか(When)」です。 実装の仕方を知るだけでなく、 いつ使う(使わない)べきかも知っておく必要があるのです。 彼はポイントを突いています。 私はリモートインターフェースという文脈でDTOを語っていますが、 パターン

    jamzz
    jamzz 2008/11/28
    最近設計に関してこれと似た議論があったがそのときにはうまく説明できなかった。この内容はもう一度よく考えてみたい。
  • Martin Fowler's Bliki in Japanese - HarvestedFramework

    http://martinfowler.com/bliki/HarvestedFramework.html 使えるフレームワークを作るには、フレームワークの構築から始めるのではなく、アプリケーションを作ることから始めよう。アプリケーションを作る時でも、汎用的なコードを開発しようとしないで、うまく分割され設計されたアプリケーションを作るのだ。 あるアプリケーションを作ったあとで、同じような要求をもつほかのアプリケーションを作ることがある。こんな時は、一番目と二番目のアプリケーションの間にある重複に気を配ってみる。重複を見つけたら共通領域に入れてやる。この共通領域がフレームワークの前段階(プロト・フレームワーク)になる。 さらにいくつかのアプリケーションの開発を続けていくと、そのフレームワークは徐々に洗練されていく。 最初の二つのアプリケーションのコードは、すべてを単一のコードベースに留めてお

  • Martin Fowler's Bliki in Japanese - FoundationFramework

    jamzz
    jamzz 2008/11/28
    私も全く同意見です。HarvestedFrameworkをお勧めしたいと思います。
  • C# 2.0で、InternalsVisibleTo属性を用いてアセンブリ内でのみ使用される機能を単体テストする方法 【▲→川俣晶の縁側→ソフトウェア→技術雑記】

    これは、即座に存在に気付いてリアクションすべきだった機能です。他のどのような機能強化よりも、私にとっては重要です。 いろいろ時間を取られて目が行き届いていないのがバレバレ (汗。 問題・単体テストとinternal § プログラムの複雑度を低減するという観点から言えば、あらゆる箇所から参照できる"public"の利用は、全く好ましいことではありません。 これは、インテリセンスで表示される候補が不必要に増えるという意味でも生産性を低下させる要因となります。 C#において、これを解決するための手段は十分にあるとは言えません。 強いて言えば、"public"ではなく、"internal"が解決策となります。これを使うことで、特定アセンブリ内からのみアクセスを許可することを明示できます。 ところが、"internal"は、単体テスト(テスト駆動開発)との併用で決定的な問題を引きおこします。テストメ

    jamzz
    jamzz 2008/11/20
    フレンドアセンブリ。こんな機能があったのか!
  • 涙ぐましい努力が報われない悲劇:日経ビジネスオンライン

    「大先輩にそんなことをして失礼ではないですか」。私が助教授だった時、10歳年上の教授に呼ばれ、叱られた。ちょうど40歳の時で、ようやく自分の仕事に自信を持てるようになったと思い始めた矢先だった。 18歳で東大に入学して一番驚いたのは、「世の中には優秀な人がたくさんいる」ということだった。以来、人の2倍3倍勉強して、負けないようにしようと思っていた。まじめな努力以外に、彼らに勝てるすべがないと思ったのだ。社会人になっても同じ気持ちだった。 そうして卒業後16年が経って、40歳になり、ふと振り返った時、生まれて初めて、私も少し偉くなったのかなと思った。船の形の設計と波のコンピューターサイエンスの研究分野では、ほとんど世界の頂点にいた。高速船のような新システム開発でも実績を上げつつあった。 大先輩に向かって偉そうに助言する その頃に始まった国家プロジェクトが、テクノスーパーライナーの開発である。

    涙ぐましい努力が報われない悲劇:日経ビジネスオンライン
    jamzz
    jamzz 2008/02/15
    「モデル」「アーキテクチャ」「メタファ」表現は違っても同じこと。ソフトウェア設計にもいえること。
  • Martin Fowler's Bliki in Japanese - スケッチとしてのUML

    http://www.martinfowler.com/bliki/UmlAsSketch.html この使用方法では、 開発者はUMLをシステムのある側面を伝えるのに使います。 設計図と同じように、スケッチをフォワードエンジニアリングやリバースエンジニアリングの方針として使うことが出来ます。 フォワードエンジニアリングでは、 コードを書く前にUMLを描きます。 リバースエンジニアリングでは、 既存のコードからUMLを作成し、 コードを理解しやすくします。 スケッチの肝は取捨選択が可能なところです。 フォワードスケッチングを行えば、 今から書こうとするコードのだいたいの項目を挙げて、 チーム内で話し合うことが出来ます。 スケッチを描くと、これからやろうとしていることについてのアイデアや選択肢を話し合うのに役立ちます。 すべてのコードについて話さなくてよいのです。 最初に同僚に説明したいと思

    jamzz
    jamzz 2007/10/26
    Martin Fowler氏がすべて説明してくれているので何も言うことがない。せめて紹介しておこう。
  • Martin Fowler's Bliki in Japanese - 流れるようなインターフェース

    http://www.martinfowler.com/bliki/FluentInterface.html 2005/12/20 数ヶ月前、Eric Evansと一緒にあるワークショップに参加した。 そこで彼がとあるインターフェースのスタイルについて語ったのだが、 我々はそれを「流れるようなインターフェース(fluent interface)」と名づけることにした。 一般的なスタイルではないが、もっと評価されるべき代物だ。 おそらく例を示したほうがいいだろうから、そうしてみることにする。 一番簡単な例は、EricのtimeAndMoneyライブラリだろう。 時間の間隔を作るには、通常は、以下のようにする。 TimePoint fiveOClock, sixOClock; ... TimeInterval meetingTime = new TimeInterval(fiveOClock,

    jamzz
    jamzz 2007/10/20
    特定の用途に最適化するところがDSLっぽい。ビルダーに使えそうなアイデア。
  • Martin Fowler's Bliki in Japanese - コマンド・問い合わせの分離

    http://martinfowler.com/bliki/CommandQuerySeparation.html 「コマンド・問い合わせの分離」という言葉は、Bertrand Meyer氏が『オブジェクト指向入門』で最初に述べたものである。これは、オブジェクト指向黎明期における最も影響力のある書籍である。 (1版がその影響力を持っていた。 2版も優れているが、これを持ち運ぶにはスポーツジムに数ヶ月は通う必要があるだろう) 基的な考えは、オブジェクトのメソッドを明確に2つのカテゴリに分類するというものである。 問い合わせ:結果を返し、システムの状態を変更しない(副作用がない) コマンド:システムの状態を変更し、値を返さない 「コマンド」という用語は他の文脈でも広く用いられるため、 私は「モディファイア(modifiers)」という言葉を好んで使っている。 あるいは「ミュテータ(mutat

    jamzz
    jamzz 2007/10/19
    鋭い視点である。不勉強であった。。。
  • 1