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

DB設計にアグリゲートの考えを導入する

RDBMSはテーブルがフラットに配置されています。テーブル間にリレーションを設定できますが、親子のような関係を定義することはできません。アグリゲートは、複数のオブジェクトを集約して意味的に1つの概念として扱うことで、複雑さを低減するテクニックで…

タイプセーフなDB開発

HibernateやEntityFrameworkなどのORMライブラリはどの程度使われているのであろうか?EntityFrameworkなどいくつかのライブラリはDBからクラスを生成できる仕組みがあるので、この仕組みを使うとプログラムからDBアクセスをタイプセーフなコードで記述でき…

LightSwitchでのIME制御

現バージョンのLightSwitchではTextBoxに対してIMEの設定を行うことができません。しかし日本ではIME制御したいケースは普通に考えられます。Silverlight自体はIME制御できるのでヘルパーを作成してカスタムコードで対処することを考えました。 public stati…

アジャイル開発の価値をマネージメントに訴求する

マネージメントは開発コストが大きな関心事である。 開発コストは単純化すると以下のような式になる。 開発コスト=開発規模/生産性*単価 そうすると、開発規模を小さくするか、生産性を上げるか、単価を下げるしかない。開発規模はパッケージの導入、単価…

アジャイルサムライ

アジャイルサムライ−達人開発者への道−作者: Jonathan Rasmusson,西村直人,角谷信太郎,近藤修平,角掛拓未出版社/メーカー: オーム社発売日: 2011/07/16メディア: 単行本(ソフトカバー)購入: 42人 クリック: 1,991回この商品を含むブログ (257件) を見る実…

MVVMでModelをリッチにしていくとViewModelの処理が小さくなる?

ViewMakerのサンプルBurgerShopはMVVM+ドメインモデルで作成しています。このサンプルを作成している時に感じたのは、ViewModelのロジックをビジネスロジックとして捉えるとどんどんModel側のコードに吸収されていきます。例えば、オーダーを登録するために…

動的に画面上のコントロールを表示制御する

LightSwitchファーストタッチ3(コントロール制御)ではコントロールの表示制御をコードから行う方法を紹介しました。しかしこの方法ではデータの動的な変化に合わせて制御することは簡単ではありません。 ここではデータバインドを利用して簡単に動的に画…

LightSwitchファーストタッチ3(コントロール制御)

Lightswitchを少し触ったので気づいた点をメモ。 コントロールの表示制御やフォーカス制御はコードを記述するとできる。 コントロールの取得 FindControlするとLightSwicthでのコントロール概念にあたるIContentItemProxy型のオブジェクトが取得できる。ただ…

WeakEventパターンを考える

WPFにWeakEventパターンというものがあります。これについてすこし考えてみたいと思います。まずはMSDNからの抜粋でどのようなものか見てみましょう。 一般的なアプリケーションでは、イベント ソースにアタッチされているハンドラが、このハンドラをソース…

LightSwitchファーストタッチ2(トランザクション)

Lightswitchを少し触ったので気づいた点をメモ。 Submitでの更新はトランザクションとして処理される。検索の分離レベルはReadCommitted、サブミット(更新)はRepeatableReadで、既定ではDTCは利用されない。DTCを利用したい場合や明示的なトランザクション…

LightSwitchファーストタッチ1(画面関連)

Lightswitchを少し触ったので気づいた点をメモ。 まずは、画面関連、操作感については、Lightswitch特有な操作性があること、部分的にSilverlightの画面を含めるのは簡単*1という印象 型変換できない値の入力 数値項目にアルファベットを入力すると入力エラ…