とあるコンサルタントのつぶやき
MCS の某コンサルタントがまったり語るテクノロジのお話です。
Browse by Tags
All Tags
»
WindowsForms
(RSS)
ASP.NET
Basics
Silverlight
WPF
単体入力エラーチェックの実装パターン
29 September 09 01:11 PM
さて Part 1. のエントリ では、業務処理の終了パターンの分類と、各アプリケーションタイプにおける基本的な実装パターンを整理しました。要点をまとめると、以下のようになります。 業務処理の終了パターンは、以下のように分類される。 突き合わせエラーについては、バックエンドのモジュール(BC や DAC)との連携によるチェック作業が必要になる。UI 部単体でチェックが可能なのは、単体入力エラーに限られる。 .NET Framework では、UI 開発技術として、ASP.NET, Silverlight,
Read More...
エラーチェックの体系的な分類方法
29 September 09 01:05 PM
まず最初のエントリでは、「エラーチェック」とひとくくりにされている「エラー」を、体系的に分類することを試みてみます。このエントリでは、 Web / Windows、あるいは Java / .NET などといった技術論とは無関係な部分 についての解説を進めていきたいと思います。 エラーチェック(ユーザ入力検証)の意味 正常終了/業務エラー/システムエラーの分類 業務エラーの細分化 アーキテクチャから見たエラーチェックの実装場所 ※ なお、本エントリで解説されている分類方法や命名方法は、あくまで nakama
Read More...
エラーチェックの体系的な分類と実装パターン
29 September 09 12:58 PM
というわけで久しくエントリをアップしていなかったこの blog ですが、最近、複数方面からお叱りの言葉が……; 忙しかったこともあってエントリをサボっていたこともあったのですが、ちょうどいいネタがなかったのも実際のところ。がしかし、先日 2009/9/26(土) に行った、 わんくま同盟さんでの勉強会 のネタが blog 化するにはちょうどいいだろう、という感じなので、その資料を使いつつ、blog エントリを書いてみることにします。 今回の解説ネタは、更新系業務アプリケーションで求められることになる、エラーチェックの実装パターンを体系的に分類してみる、というものです。ASP.NET
Read More...
Part 4. Visual Studio によるマルチスレッドアプリの開発
09 April 09 02:57 PM
さて、Part 1~3 の解説で、Windows フォームにおけるマルチスレッドアプリケーションをスクラッチで開発する方法について述べてきました。結論としては、実は Windows フォームにおけるマルチスレッドアプリケーション開発は恐ろしく厄介で面倒である、ということになると思うのですが;、とはいえ 長時間を要する処理があるため、どうしてもマルチスレッドアプリにしなければならない。 ということも当然あると思います。幸い、.NET Framework 2.0/Visual Studio 2005
Read More...
Part 3. タスクスレッドと UI の協調動作
07 April 09 02:47 PM
さて、前回の Part 2. のエントリでは、タスクスレッド(UI の背後で動作させる処理を動作させるスレッド、すなわちマニュアルスレッドやプールスレッドの総称)の様々な起動方法について解説しました。主な方法として、以下の 4 つの方法がありました。 マニュアルスレッドの新規作成 プールスレッドの利用 非同期デリゲートの利用 タイマの利用 さて、いずれの方法を利用する場合であっても守る必要のあるルールとして、 UI スレッド以外から UI コントロールの読み書きをしてはならない 、というものがありました。
Read More...
タスクスレッドの起動方法
02 April 09 10:31 AM
さて、前回のエントリでは、Windows フォーム内部におけるスレッドの構成や、メッセージループの働きなどについて解説しました。中でも重要なこととして、以下のようなキーポイントがありました。 UI スレッド上で、長時間処理を動かしてはならない。 長時間処理は、マニュアルスレッドやプールスレッドなどの、他のスレッドに切り出す。 UI スレッド以外から、UI コントロールを触ってはいけない。 マニュアルスレッドやプールスレッド上から、UI コントロールを読み書き・操作してはいけない。 上記の 2 つの重要ルールについて、Part
Read More...
Part 1. Windows フォームのマルチスレッド処理の基礎
31 March 09 12:25 AM
さて、Windows フォームは、Windows OS が持つ様々なウィンドウ制御の仕組みに基づいて開発されている UI 技術です。このため、Windows フォームのマルチスレッド処理を理解するためには、まず Windows OS がどのようにして Windows フォームアプリケーションを動作させているのかについて理解する必要があります。その中でも特に重要なのが、 メッセージキュー と メッセージループ です。これらを理解することで、なぜ UI が固まるのか、また固まることを防ぐにはどうしたらよいのか、といったことが理解できるようになります。これについて解説します。
Read More...
マルチスレッド Windows フォームアプリケーションの開発
30 March 09 11:13 PM
というわけでまたしてもかなり日にちが空いてしまいました;。年度末ということもあって仕事が立て込んでいたのですが、ほぼ一段落したので久しぶりにエントリを。どうしてもまとまった話題を書こうとすると時間がかかっちゃいますね.... 今回の話題は、Windows フォームにおけるマルチスレッド処理の正しい書き方です。以前、マルチスレッドアプリケーションにおけるデータ変数の排他制御(スレッドセーフか否かの判定)について こちら と こちら のエントリに書きましたが、さらにもう少し応用的なトピックとして、Windows
Read More...
Part 2. スマートクライアントにおける単体入力データ検証
26 February 09 08:29 PM
さて、前回のエントリでは Windows フォームにおける双方向データバインドの基本的な使い方を解説しました。要点をまとめると、以下の通りとなります。 双方向データバインドを用いると、データソースから UI コントロールへ値を表示するだけでなく、UI コントロールからの入力をデータソースに反映できる。 データバインドには、2 種類のデータバインドがある。 ① 単一値データバインド(単票形式データバインド) ② コレクションデータバインド(グリッド形式データバインド) どちらの場合も、BindingSource
Read More...
Part 1. 双方向データバインドの基本的な使い方
26 February 09 08:15 PM
Windows フォームにおけるデータ入力において、スマートに単体入力エラーチェックを行いたい場合には、双方向データバインドと IDataErrorInfo インタフェースを利用する方式が便利です。ただし、この Windows フォームのデータバインドは Web フォームのデータバインドとは大きく異なる点があります。 双方向データバインドが利用できる。(※ Web フォームでも使えますが、極めて限定的です。) 入力データのデータソースへの反映がリアルタイムに行われる。(リアルタイムにデータが同期。)
Read More...
双方向データバインドによる単体入力エラーチェック
26 February 09 08:10 PM
ふと気付いてみれば前回のエントリから一か月以上が経過。一回サボるとついエントリをサボり気味になってしまうものですね;。さて今度のエントリは何にしようかと迷っていたのですが、先日、マイミクの Gushwell さん と話していたときに、Windows フォームの双方向データバインドを使った単体入力エラーチェックの実装方法を書いたらどうか、という話に。確かにこの方法は知らない人が多く、私自身も数ヶ月前にわからなくて非常に苦しんだ経緯もあるので、今回はこれをネタにしてエントリを書いてみようと思います。
Read More...
This Blog
Home
Links
Email
Tags
64bit
ASP.NET
Basics
Silverlight
Transaction
WCF
WCS
WindowsForms
WPF
Archives
September 2009 (3)
April 2009 (3)
March 2009 (2)
February 2009 (3)
January 2009 (4)
December 2008 (4)
November 2008 (6)
October 2008 (6)
September 2008 (6)
August 2008 (4)
Syndication
RSS 2.0
Atom 1.0