タグ

designpatternに関するhiro_yのブックマーク (35)

  • JavaScript Patterns

    A JavaScript pattern and antipattern collection that covers function patterns, jQuery patterns, jQuery plugin patterns, design patterns, general patterns, literals and constructor patterns, object creation patterns, code reuse patterns, DOM and browser patterns (upcoming). Patterns collected while developing 喜感网. General Patterns Function Declarations - creating anonymous functions and assigning t

    hiro_y
    hiro_y 2012/02/04
    JavaScriptのパターン
  • PHPによるデザインパターン入門 - Do You PHP?

    PHPによるデザインパターン入門 秀和システムから発売となった「PHPによるデザインパターン入門」(ISBN4-7980-1516-4・ 2006/11/23発売)を執筆しました(共著です)。 「PHPを使ってGoFパターンを見ていこう」的な書籍になっています。GoFパターンについては、それぞれパターンの説明とサンプルコードという構成です。サンプルコードは、CentOS4.4/Windows XP(SP2)+PHP5.1.x/5.2.0で動作確認しています。 目次は以下の通りです。 1章 デザインパターンの世界へようこそ デザインパターンって何? デザインパターンとは? オブジェクト指向 GoFパターン デザインパターンのメリット・デメリット デザインパターンを使うメリット デザインパターンを使うデメリット PHPとオブジェクト指向 PHPとは? PHP5でのオブジェクト指向開発 2章

    PHPによるデザインパターン入門 - Do You PHP?
    hiro_y
    hiro_y 2010/03/09
    『PHPによるデザインパターン入門』テキスト化。
  • PHPによるデザインパターン入門

    デザインパターンの基であるGoF全23パターンをわかりやすく解説。イラストやUML図で理解し、簡単なPHPサンプルスクリプトで学ぶ!!初めて学ぶ人ももちろん、今まで理解しにくいと思い挫折していた人に。オブジェクト指向設計に現在必須のデザインパターンを学びたい人に。オブジェクト指向言語として生まれ変わったPHP5で設計をする人に。PHPプログラマはもちろんC++言語やJava言語プログラマにもおすすめ。

    PHPによるデザインパターン入門
    hiro_y
    hiro_y 2010/03/05
    PHPのデザパタ本がGoogleブックスに。
  • Web アプリの MVC 設計まとめ - もやし日記

    MVC 設計について考えていたときに、ちょうどその辺りの話をされている方々が居たので、今の考えをまとめてみました。 目次 前提 肥大化するコントローラを避ける ビジネスロジックをどこに書けば良いのか コントローラとモデルの間にもう一つの層があるとうまくいく? まとめ 前提対象は Web アプリケーションで、画面数(ビューの数)は数個〜100個程度の規模です。WordPressTwitter、37signals のサービスのようなものを作ろうとするとき、どういう MVC 設計をしていくかについて考えます。巨大なシステム、金融系システム、基幹系システムなどを作る場合とは異なる考え方もあると思います(そもそも MVC を使わない、など)。 肥大化するコントローラを避ける例えば、八百屋さんで「60円で仕入れたリンゴ1つを100円で売った」こと(Sales Transaction)を記録する場合を

    hiro_y
    hiro_y 2009/10/18
    webアプリのMVC。Modelをどう区切るか。
  • 「RESTful MVC」なアーキテクチャの話

    最近、増井君と私でアーキテクチャの話をすることが多いのだが、そんなディスカッションの中で気に入っているのは左の図のようなアーキテクチャ。 もちろん、核となるのはビジネスロジックを含んだModelの部分。そこをしっかりと実装し、内部構造を隠す粒度の荒いインターフェイスを定義し、外から何をされてもデータの整合性が壊れない様にすることは何よりも大切。 そして、そのModel層へのインターフェイスを特定の言語に依存したクラスやAPIではなく、HTTP上でJSON(XMLでもかまわない)をやりとりするだけの RESTfulなWeb Serviceにすることがミソ。こうすることによりにより、どんなに締め切りに負われようが、誰がControllerを実装しようが「ずるができない」ように作っておく(ずる=来使うべき外部インターフェイスだけでなく、Model内部に直接アクセスして依存関係を作ってしまう事)

    「RESTful MVC」なアーキテクチャの話
    hiro_y
    hiro_y 2009/10/17
    「Model層へのインターフェイスを特定の言語に依存したクラスやAPIではなく、HTTP上でJSON(XMLでもかまわない)をやりとりするだけの RESTfulなWeb Serviceにする」ことで、Modelへのインタフェース作成をさぼれなくする。
  • matarillo.com: UIパターン

    UIパターン 追記 この記事の一部を加筆・修正したものを「開発者が知っておくべき、6つのUIアーキテクチャ・パターン」として@ITに転載しています。 MVVMを追加した上で、アプリケーションモデルとMVVMをプレゼンテーションモデルのバリエーションとして位置づけました。 MVPの2つのスタイルとして、監視コントローラとパッシブ・ビューを説明しました。 まえがき Martin Fowlerの"GUI Architectures"を訳したので公開しようと思ったのだが、FAQページに「EAA developmentとかDSLなんかは商業出版するんで例外ってことで」と書いてある。面倒だったので翻訳の公開はやめて、「自分の理解を書く」というスタイルにしようと思う。 Fowler氏が説明しているのは 「フォームとコントロール」、「モデルビューコントローラー (MVC)」、「プレゼンテーションモデル」、

    hiro_y
    hiro_y 2009/02/13
    UIから見た実装パターン。「フォームとコントロール」、「モデルビューコントローラー(MVC)」、「プレゼンテーションモデル」、「アプリケーションモデル」、「モデルビュープレゼンター(MVP)」。
  • Design Patterns Quick Reference – McDonaldLand

    So every time I am designing something new I find myself either searching Google or opening up a gang of four (GoF) book to aid me. I searched for a bit trying to find a handy-dandy flash card showing class diagrams and purposes for the basic GoF patterns but was unable to locate a good one (for free). So I made my own. You are free to use this on other sites or for general educational purposes pr

    hiro_y
    hiro_y 2009/01/01
    デザインパターンのcheatsheet。
  • アクティブレコードパターンの本当の意味 - ひがやすを技術ブログ

    アクティブレコード 1行に対応 ドメインロジックを実装している 最近はDBよりの所にドメインロジックを書くのは廃れている RailsのActiveRecord、S2JDBCとか データマッパー ドメイン設計したクラス群とERモデルのマッピング Hibernate、DjangoのORマッパー オブジェクト指向により忠実 PofEAAをみると、アクティブレコードは、「テーブルの行をオブジェクトでラップしたもの」で、データマッパーは、「データベースとオブジェクトを独立して設計しそれらを結びつけるもの」と書いているので、アクティブレコードパターンは勘違いされやすいかも。 アクティブレコードの定義を原文から持ってくると次のようになります。 An object that wraps a row in a database table or view, encapsulates the database

    アクティブレコードパターンの本当の意味 - ひがやすを技術ブログ
    hiro_y
    hiro_y 2008/11/30
    アクティブレコードパターン。「もっと具体的にいえば、エンティティクラスは、フレームワークで提供されているデータアクセス機能を持ったクラスを継承して作るということ」
  • 具体例で説明するデザインパターン - てっく煮ブログ

    JavaScriptデザインパターンってなんだかたいそうなものに考えられがちだけど、実は、そこかしこのライブラリや仕様に取り込まれていることが多い。「デザインパターン分からん」とか「で、どうやって使うのよ」と悶々としている人には、「どういうところで使わているのか」を知っておけばイメージも沸きやすいし、意外にたいしたことないんだな、ということが分かるんじゃないだろうか。そこで、JavaScript やその周辺の技術で、デザインパターンがどのように使われているかを紹介してみることにする。ここでは、GoFの順番に沿って、以下の11個のパターンを取り上げる。生成に関するパターン Factory MethodAbstract FactoryBuilderPrototypeSingleton構造に関するパターン AdapterComposite振る舞いに関するパターン Chain Of Respon

    hiro_y
    hiro_y 2008/08/26
    デザインパターンの使いどころ。実際は実装し始めたらパターンになってることが多いかも。Factory Methodパターンは…確かにそうだけど。
  • ハタさんのブログ : PHP開発者のためのデザインパターン。Controller

    はてブコメントにて、「シリーズ化して欲しい」とあったので、もう少し書いてみます。 今回紹介するパターンは、Controllerパターン。 たぶん、デザパタ(GoFとかのヤツ)ではControllerパターンなんてものは存在しないのですが、よく見掛けるパターンなので紹介します。 よくあるControllerパターンは、FrontControllerパターンを使ったデータ遷移パターンですが、今回僕が紹介するパターンはCommandController(これもGoFとかのパターンにたぶん無いので勝手に命名)です。 何か実行したいCommandについて、Controllerが適切に実装を振り分けその後のActionを実行するためのパターンです。 よくある実装 例えば、以下にCommandインタフェースを実装した複数のクラスがあり、そのCommandによって、実行するActionを振り分けるCo

    hiro_y
    hiro_y 2007/11/02
    PHPでControllerパターン。
  • ハタさんのブログ : PHP開発者のためのデザインパターン。Delegate

    ITT-WEB - XOOPSCubeにおけるDelegateとは何か?というエントリが上がっているので、ちょっとだけDelegateについて触れてみたいです。 Delegateとは、そのままの意味で「委譲」を示します。(集約ではないです) とある処理をそれまで行っていたクラスから、ちがうクラスに対して処理を行ってもらうようにします。 Delegateと書くとちょっと堅苦しいですが、proxyやTemplate Methodに近い存在です。 Delegateは慣れてくると色々なパターンに適用しやすい便利なパターンなので、是非身に着けたいものです。 以下にファイルのデータを書き込む処理の例を示します。 class DataWriter { public function write(Data $data){ $file = new File($data->getPath()); if(

    hiro_y
    hiro_y 2007/11/01
    PHPでDelegate。
  • prototype.jsでYouTubeをインクリメンタルサーチ (1/3) ─ @IT

    prototype.jsでYouTubeをインクリメンタルサーチ:パターンとライブラリで作るAjaxおいしいレシピ(2)(1/3 ページ) 今回のサンプルはYouTubeの新APIを使う 2007年8月28日からGData(Google Data APIs)の仕様に基づいたYouTubeの新しいWeb APIであるGData YouTube APIが利用できるようになりました。これに伴って、以前のYouTube APIではサポートされていなかったJSONP(前回記事参照)による動画の検索ができるようになりましたので、今回のサンプルでは、この新APIを使ってJavaScriptから直接YouTubeの動画を検索させます。 Ajaxデザインパターンは「Live Searchパターン」などを使用 検索方法は、通常の「キーワード」を入力してから「検索ボタン」を押すタイプではなく、一文字一文字入力す

    prototype.jsでYouTubeをインクリメンタルサーチ (1/3) ─ @IT
    hiro_y
    hiro_y 2007/10/06
    Ajaxでもデザインパターンの話題が。
  • ハタさんのブログ : デザパタ本には載らないデザパタ

    突然ですが、きっとあなたも使っているデザインパターンシリーズ 何気なく書いていたあのクラスが無意識的にNullObjectパターンやHook Operationパターンを適用していることがここ最近多い気がしませんか? 僕の場合はS2Daoを通して見付けた(身に着けた)ものが多いんですが、今回はそのS2Daoより、簡単に書けるHook OperationパターンとNullObjectパターンをPHP5で書いてみます。 Hook Operationパターン 「Hook Operationパターン」にも書かれていますが、あるクラスの処理の前と後ろに、別の処理を実行したいことがあります。 AOPとか特別なことはせずに、あるクラスの前処理と後処理を呼び出します。 あるクラスの処理を「Process」クラスの「execute」処理とし、別の処理(前・後)は「Hook」インタフェースを実装するクラス

    hiro_y
    hiro_y 2006/12/05
    Hook Operationパターン/NullObjectパターンをPHP5で。
  • Main Page - Ajax Patterns

    hiro_y
    hiro_y 2006/09/23
    Ajaxで使われる主なパターンを紹介。
  • Efficient data transfer through zero copy

    Efficient data transfer through zero copy
    hiro_y
    hiro_y 2006/09/06
    PHP、デザインパターン。
  • PHP Design Patterns | dikini.net

    Submitted by Anonymous (not verified) on Wed, 2006-07-26 11:17. Hi, Yes there is a slew of php pattern libraries emerging. I like your attitude to smudging the edges of patterns, idioms, though I am not experienced enough to understand it. "Showing the shape of patterns" I like that (actually I need it). If I am researching how people use a particular pattern, then I will stop by your site. It s

    hiro_y
    hiro_y 2006/07/28
    PHPでデザインパターン。
  • IBM

    IBMの技術と知見が、さまざまな業界・分野において、お客様の挑戦や前進に向けた取り組みを支えています。

    IBM
    hiro_y
    hiro_y 2006/07/20
    PHPでデザインパターン。
  • Patterns For PHP- Blog chia sẻ kiến thức liên quan đến lập trình PHP

    Đăng kí ngay để nhận thông báo về các bài viết và tin tức mới nhất về lập trình PHP P4P có rất nhiều kiến thức và thông tin từ nhiều nguồn khác nhau giúp sinh viên có thể dễ dàng tiếp cận và làm quen với những kiến thức mới nhất

    Patterns For PHP- Blog chia sẻ kiến thức liên quan đến lập trình PHP
    hiro_y
    hiro_y 2006/07/19
    PHPでデザインパターン。
  • L'eclat des jours(2006-07-17)

    _ プログラマーのためのデザインパターン 「オブジェクト指向プログラムのためのパターン言語の使用」を読み返している。 漠然と感じていたことをあらためて書き出してみる。 アプリケーションプログラマーとフレームワーク(端的にはRails)の関係について。 以下は、上記文章のもじりである。 もし、元のアレクザンダーの考えが正しく、そしてケントベックとウォードカニンガムが考えたようにアレクザンダーが建築に対して用いた考え方がプログラムに適用可能なような普遍性を持つのであれば、以下の言明は真となるはずだ。 Alexander氏は、家やオフィスというものは、実際にそこにいる人たちの手によって設計され、作られるべきだと提案している。氏がこう結論付けたのは、ある構造(a particular structure)への要求を一番よく知っているのは、彼ら自身だからだ。我々はこれに賛同し、フレームワークにも同じ

    hiro_y
    hiro_y 2006/07/18
    パターン言語、発生しうる問題に対して実際に機能するソリューションを提示。
  • パターン重要。 - eto.com/d

    http://capsctrl.que.jp/kdmsnr/wiki/transl/?UsingPatternLanguagesForOOP この文章は当に重要。 私はいままでパターンと言われていたものについて、 ものすごく誤解していたということを、ようやく理解した。 まず、パターンの源流はどこにあるのかという点。 私はいままで、GoF (Gang of Four)が源流なのだと思っていた。 全然違うんだね。 この文章が源流なのだとすれば、それは、 Apple Computer の Kent Beck氏と、Tektronix の Ward Cunningham氏の二人が、現在パターンと呼ばれている概念の原型を作り上げたのだということ。 この二人が源流なのであれば、現在XPと呼ばれている概念が パターンと直結していることも理解できるし、またもう一つ、 WikiWikiWebと呼ばれているシ

    hiro_y
    hiro_y 2006/07/08
    「ソフトウェア構築においてもソフトウェアにおける様々な『パターン』を言語としてまとめ、それによってユーザによるシステムの設計を可能としよう」