2011-03-01から1ヶ月間の記事一覧

【C#】【GoF】Observerパターン ~IObserver / IObservable インターフェース~

IObserver / IObservable インターフェース * GoFのデザインパターンである Observerパターンを実装することができる IObservable<T> インターフェイス * 通知を送信するクラスを実装する時に、使用する 構文 public class 【通知情報を送るクラス】 : IObserva</t>…

【C#】Tuple(タプル)

C#

■ Tuple(タプル) * tupleとは「組」。コンピューターの分野では、「1件分のデータ」 * 1つにまとめたい複数オブジェクトをパラメータとして、TupleクラスのCreate()を呼び出す * Tupleオブジェクト内の項目は、Item1、Item2、・・・といったプロパティによ…

【デザインパターン】Simple Factoryパターン

Simple Factoryパターン * GoFではないけど、Factoryパターンの基礎になるらしいので... サンプル Dater.cs * DateTime型と表示するためのstring型をもつ基本クラス public class Dater { protected DateTime date; protected string dateString; public Dat…

【デザインパターン】【GoF】【C#】Observerパターン

Observerパターン 状態の変化を通知する ポイント * インターフェイス(下記の例では、IObserver)および更新したいデータ群のクラス(MoneyData)を用意する。なお、インターフェイスには、このクラスを引数にもつ更新用のメソッド(Update(MoneyData money…

【C#】スレッドアプリケーションを作成するために(ループについて)

■ はじめに http://www.clks.jp/csg/gt001.html に面白い技術があったのでメモ。 ■ 周辺技術 Forms.Application.DoEvents() アプリケーションのメッセージ・キューにたまったすべてのWindowsメッセージを処理するためのもの 補足 すべてのWindowsメッセージ…

【デザインパターン】【GoF】Proxyパターン

Proxyパターン Proxyパターンの種類 [1] remote proxy : 別アドレスにあるオブジェクトに対してのアクセスを提供する [2] virtual proxy : コストのかかるオブジェクト作成を出来る限り先送りする [3] protection proxy : オブジェクトへのアクセスを制御す…

【C#】継承 [1] (abstract / virtual / override )

C#

abstract 抽象クラスとインターフェイスとの違い (1) 実装内容のないメソッドだけでなく、内容を含むメソッド(下のサンプルの場合、GetName())を記述できる (2) 抽象クラスは、二つ以上継承できない。つまり、多重継承できない。(インターフェイスは二つ以…

【C#】【Form】Chart(チャート)

■ Chart(チャート) * VS2010から、[ツールボックス]-[データ]-[Chart]でグラフを書くことができる ■ グラフの種類の指定 * Chart.Series.ChartType : グラフの種類を指定する サンプル Series series1 = new Series(); series1.ChartType = SeriesChartTyp…

【デザインパターン】UIデザインパターン

↓も学んでいかないとな・・・ https://www.sociomedia.co.jp/category/uidesignpatterns

【デザインパターン】【GoF】【C#】Adapterパターン

目的 * インタフェースに互換性のないクラス同士を組み合わせること 実現するための手法(2パターン) [1] 継承を利用した Adapter パターン [2] 委譲を利用した Adapter パターン [1] 継承を利用した Adapter パターン 実現する方法 * インターフェースが同じ…

【GoFデザインパターン】Iteratorパターン

Iteratorパターン 目的 [1] Collectionの要素に順番にアクセスする方法 [2] Collectionの構造を意識する必要はない 利点 [1] データ構造を隠蔽する 使いどころ [1] 集合体を扱うクラスを、自分で作ったとき 実装方法 * オブジェクトの持つデータ構造を非公開…

【C#】属性(アトリビュート) ~定義済み属性~

C#

属性(アトリビュート)とは * クラスやメンバーに色々な情報を付加することができる 属性の種類 [1] 定義済み属性 [2] カスタム属性 [1] 定義済み属性 * 以下が参考になる http://youryella.wankuma.com/Library/Document/ControlAttribute.aspx Obsolete *…

【デザインパターン】【GoF】【C#】Visitorパターン

Visitorパターン:振る舞いに関するパターン メリット * 構造から処理を分離できる ⇒ 既存のオブジェクトに対し、構造を変更せずに、機能を追加できる 使いどころ * Validation処理(妥当性チェック) ⇒ Validationなら、以下の「Visitorパターンを使うべきケ…

【デザインパターン】【GoF】【C#】シングルトーン(Singleton)パターン

Singletonパターン:オブジェクトの生成に関するパターン * Singleton : 一つずつ起こること;1個のもの * デザインパターンとしては、クラスのインスタンスが1つしか生成されないことを保証する 使いどころ * ロガークラス(ログ出力クラス) 以下のように…

【PHP】【Zend Framework】Controller で Hello World

PHP

サンプル フォルダ構成 「*」は、フォルダの意味で、付いてなければ、ファイルを意味する * アプリケーションのルートディレクトリ | +- * public(公開用ディレクトリ) | +- .htaccess | +- index.php | +- * application(MVCアプリケーションのフォルダ・…

【PHP】Web PI (Microsoft Web Platform Installer)

PHP

PHP Web PIの設定 [1] 以下のサイトから、Web PIをダウンロードする(wpilauncher.exe) http://www.microsoft.com/web/downloads/platform.aspx [2] wpilauncher.exeを実行し、Web PIをインストールする [3] インストール選択画面で、「オプション」を選択…

【設計】MVC / MVP パターン

■ MVC / MVP http://www.atmarkit.co.jp/fdotnet/vblab/bizappbasic02/bizappbasic02_01.html より... ■業務アプリの構造を... [1] 論理的な3つの層に分ける(物理的ではなく、概念的) [2] それぞれの層にやるべき作業(=役割)を定義する イメージ [ユー…