give IT a try

プログラミング、リモートワーク、田舎暮らし、音楽、etc.

2010-12-01から1ヶ月間の記事一覧

数値で測るコード品質

プロフィールのところにも書いてあるのですが、おいらの目標は「美しく無駄のないシステムアーキテクチャを設計、構築すること」です。 なぜならシステムの保守性や拡張性って、アーキテクチャやコードの品質によって雲泥の差が出ることを、幾度となく痛感し…

O/Rマッピングツールに対する誤解をときたい -実装編 Part9-

Part8を読む これまでのまとめ 当初考えていた以上に長いシリーズとなってしまったので、一度全体を振り返ってみます。 また、その後でO/Rマッピングツールを採用するかどうかの判断基準や考慮点、アンチパターンなんかも書いてみたいと思います。 これまで…

O/Rマッピングツールに対する誤解をときたい -実装編 Part8-

Part7を読む NHibernateに関する補足説明 できればサンプルプログラムを1から10まで説明していきたいのですが、そうするとボリュームが凄いことになってしまうので、注目すべき部分のみをピックアップしてみたいと思います。 Lazy Loading機能 Lazy Loading…

O/Rマッピングツールに対する誤解をときたい -実装編 Part7-

Part6を読む データベース関連の説明 Part1でもお話しした通り、ここまで「あ・え・て」データベース関連の説明をしてきませんでした。 なぜならO/Rマッピングツールは SQLを書きたくない人のためのツールではない からです。 そうではなく、O/Rマッピングツ…

O/Rマッピングツールに対する誤解をときたい -実装編 Part6-

Part5を読む NHibernateの利用を簡略化するヘルパークラス(NHibernateHelper.cs) 書籍Facadeの説明をする前にヘルパークラスの説明をしたいと思います。 実装コードの全体を載せる前にまずはクラスのAPIから紹介します。 namespace Junichi.Ito.NHibernateBo…

O/Rマッピングツールに対する誤解をときたい -実装編 Part5-

Part4を読む Facadeクラスの実装 次はFacadeクラスの実装です。 実はO/Rマッピングツールの説明をすると言っておきながら、ここまでほとんどO/Rマッピングツールに関するコードが登場していませんでした。 ここからようやくNHibernateを使ったコードが登場し…

O/Rマッピングツールに対する誤解をときたい -実装編 Part4-

Part3を読む ドメインモデルクラス それではここからドメインモデルを構成する注文クラス、注文明細クラス、書籍クラス、和書クラス、洋書クラスを説明していきます。 注文クラス(BookOrder.cs) using System; using System.Collections.Generic; using Syst…

O/Rマッピングツールに対する誤解をときたい -実装編 Part3-

Part2を読む 実装コード それではここからいよいよ実装コードの説明を進めていきます。 書籍注文ページを実装するには以下のようなクラスやファイルが必要になってきます。 書籍注文ページのUI(aspx + aspx.cs) ドメインモデルを構成する注文クラス、注文明…

O/Rマッピングツールに対する誤解をときたい -実装編 Part2-

Part1を読む プログラム設計 クラス設計 このプログラムの核となるクラス(ドメインモデル)を以下に示します。 この図はER図でもなく、テーブル設計図ではありません。 あくまでクラス図です。 基本的にこれがこのままC#のコードとして実装されます。 しかし…

O/Rマッピングツールに対する誤解をときたい -実装編 Part1-

2010.12.28追記 Part9にて、実装編Part1〜Part8の概要を載せています。 かなり長いシリーズ記事なので、この記事を初めて読む方はまずこちらに目を通してもらうと全体像が分かりやすいかもしれません。 イントロダクション 以前からやりたいやりたいと思いな…

C#プログラマのための理解度チェックリスト

C#

前回のエントリでは「新しい言語を勉強したって、前に使ってた言語と同じような書き方をしてたら意味がない」という話をしました。 そこでC#を題材にして、C#を本質からマスターできているかどうかを確認するためのチェックリストを作ってみました。 これら…

「ポータブルなスキル」や「エンジニアとしての基礎体力」の重要性

先日、チーム内ミーティングでメンバー全員が今期の自己啓発目標を発表していました。 その中で多く目立ったのが「C#を習得する」とか「Perlを習得する」というような新しい開発言語を習得する目標でした。 最初は「新しい言語にチャレンジするのはいいこと…