タグ

Patternに関するnozomのブックマーク (11)

  • デザイン・パターンとは何か

    先日のMVCの議論の際には、私自身いろいろと勉強させていただいたが、少し心配になったのは、「MVCの定義だって時代とともに変わる」「ウェブサービス用のMVCはSmalltalk時代のMVCとは異なるもの」「MVCなんか理解してなくてもアプリケーションが作れればいいじゃん」など、そもそも「MVCとは何か」どころか「デザイン・パターンとは何か」を理解していないんじゃないかと思われる発言が見られたこと。ということで、今日はデザイン・パターンについてひと言。 デザイン・パターンとは、(業界に蓄積されたノウハウに立脚した)何かを作る際の指針のこと。ソフトウェアに限らず、ものを作るときにはさまざまな(場合によってはお互いに矛盾する)要求条件や制約が課せられるわけだが、そんな時に過去にさまざまな事例を解決してきた先人の知恵を「パターン化」してノウハウとして身につけておけば、似たような事例に出会った時に効

  • None is None is None: Pythonによるデザインパターン

    2009年6月5日 Pythonによるデザインパターン 『Rubyによるデザインパターン』(ラス・オルセン著 ピアソン・エデュケーション刊)を読みました。 私はPythonでばっかり遊んでいるのですが、PythonRubyとは基は同じ機能のように見えるので、Pythonによるデザインパターンに翻訳してみようと思います。 まず、デザインパターンの原則から 変わるものを変わらないものから分離する インターフェイスに対してプログラムし、実装に対して行わない 継承より集約 委譲、委譲、委譲 必要になるまで作るな(これは「Rubyによる~」の筆者による) これって、プログラミング全般に通じるものがあるようにも感じます。 Template Method Strategy Observer Composite Iterator Command Adapter Proxy 似た趣旨のブログ tachi

  • MVC: Cargo Cult

  • ソシオメディア | UIデザインパターン

    ソシオメディアが独自に提供するUIデザインパターン集。これを使えばUI設計を効率化できます。

    ソシオメディア | UIデザインパターン
  • Amazon.co.jp: Javaとピザとデザインパターン : Matthias Felleisen, Daniel P.Friedman, 庄司 速人: 本

    コメント: ◆◆◆おおむね良好な状態です。中古商品のため使用感等ある場合がございますが、品質には十分注意して発送いたします。 【毎日発送】

  • よくわかるソフトウエア・パターン - 特集 オブジェクト指向は難しくない!:selfup

    Part3では,もはやオブジェクト指向開発では欠かせない存在となったソフトウエア・パターンについて解説しましょう。デザインパターンに代表される様々なソフトウエア・パターンを活用して,熟練者の経験を盗み,オブジェクト指向開発を円滑に進める術を習得してください。 ソフトウエア・パターンの全貌 皆さんは誰かが書いたプログラムを眺めていて,どこかで見たようなソフトウエア設計やコードに出くわしたことがありませんか? 「このクラスの役割はどこかで見たことあるなあ」とか「このコードは何度も自分で書いたことがあるぞ」といった感覚です。そのような既視感は,そのコードを書いた人が,皆さんと似たような状況で,繰り返し発生する問題を抱えて,似たような設計/実装を行ったからかもしれません。 ソフトウエア・パターン*1は,このような繰り返されるソフトウエア設計を集めたものです。それも単に集めたのではなく,様々なソフト

    よくわかるソフトウエア・パターン - 特集 オブジェクト指向は難しくない!:selfup
  • はてなブログ | 無料ブログを作成しよう

    ジャムを常備するならあんずジャムで! カツカレーを作ったら、うま過ぎるとうちの男性陣が騒いだ。落ち着けボーイズ!これは市販のゴールデンカレー(甘口)のルーだ。手を抜いたつもりがルーから手作りのカツカレーよりも数倍の喜びように、家庭料理の面白さともどかしさを感じた。 隠し味のあんずジャム …

    はてなブログ | 無料ブログを作成しよう
  • Inversion of Control コンテナと Dependency Injection パターン

    以下の文章は、Martin Fowler の「Inversion of Control Containers and the Dependency Injection pattern」を、かくたにが翻訳したものです。原著者の許可を得て翻訳・公開しています。 翻訳にあたっては、kdmsnr さんにご協力をいただきました。ありがとうございます。公開後の改訂履歴を記事の最後に記述しています。 Java コミュニティでは軽量コンテナが花盛りである。 軽量コンテナは、異なるプロジェクトのコンポーネントをひとまとまりのアプリケーションとして組み立てることを支援する。 このようなコンテナの根底には、コンポーネントの結び付け方についての共通したパターンがある。 そのパターンのコンセプトは「Inversion of Control(制御の反転)」と、まことに包括的な名前で呼ばれている。 記事では、このパタ

  • Pattern Languages of Functional Programs

    These pages are for people interested in applying the ideas of patterns and pattern languages to the doing, understanding, and teaching of functional programming. This is just the beginning of what some hope will be a productive area of study. The web pages here are in a beta-release state. Why Patterns? Pattern languages describe how to build things. As such, patterns can be a good tool for helpi

  • prototype.js でデザインパターン

    続きまして「コピーしてインスタンスを作る」Prototype パターンです。デザパタでは6章にあたります。 var Main = Class.create(); Main.prototype = { initialize : function () {}, main : function() { var manager = new Manager(); var upen = new UnderlinePen('~'); var mbox = new MessageBox('*'); var sbox = new MessageBox('/'); manager.register("strong message", upen); manager.register("warning box", mbox); manager.register("slash box", sbox); docum

    prototype.js でデザインパターン
  • 連載:.NETで始めるデザインパターン - @IT

    第2回 簡潔なコーディングのために (2017/7/26) ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21) Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基の「キ」をマスターしよう 第1回 明瞭なコーディングのために (2017/7/19) C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える Presentation Translator (2017/7/18) Presentation TranslatorはPowerPoint用のアドイン。プレゼンテー

  • 1