2007-03-01から1ヶ月間の記事一覧
Interface Module com.google.inject.ModuleAll Known Implementing Classes: AbstractModule, ServletModule public interface Module A module contributes configuration information, typically interface bindings, which will be used to create an In…
Class Guice java.lang.Object └com.google.inject.Guice public final class Guice extends Object The entry point to the Guice framework. Creates Injectors from Modules. Guiceフレームワークのエントリーポイントです。Module群からInjectorを作成し…
C#2.0と比較したときのC#3.0の新しい言語仕様を紹介します。 引用元:http://www.codepost.org/view/126動的型付け言語の影響を強く受けた仕様だという印象があります。(MSらしいなぁ) 「var」キーワード VB6.0以前のVariant型に似たものでしょう。「何で…
Javaを使っていても、オブジェクト指向分析・設計をやっていても、結局「手続き型のアーキテクチャ」になっている企業システムをよく見かける。そして多くの場合、それがそのプロジェクトでは最も良い選択肢であると感じる。マーティンファウラーさん著のエ…
GuiceはJavaのGenerics機能をフル活用したタイプセーフなフレームワークです。 私も、当初よりGenerics機能は、Javaの静的型付け言語的良さを強化する素晴らしい機能だと思っていましたが、実用方法としてはCollectionフレームワーク以上のものが思いつきま…
ORMの対象領域で有名なインピーダンスミスマッチだけど、 Webアプリケーションの場合、StrutsやServlet&JSPなんかを使うと ViewとModel層にもインピーダンスミスマッチが発生してしまうのではないだろうか?O-Rのインピーダンスミスマッチは、モデリングの…
Kronos社内では最近開発プロセスの優劣について話題が熱い。 開発プロジェクトの正解を探す旅をはじめてこそ、真のエンジニアに近づけると思うのでこの傾向はとても好ましい。 しかしこの議論には、まずはさまざまな前提を先に共有すべきだ。 ■ 究極の開発プ…
■DIの説明で「生成処理の一元管理のメリット」を言うなら「一時的なクラスの切替のシナリオ」を使うべき DIのメリットを説明するときの話。 DIで管理することで「具象クラスに仕様変更があったときに切替が容易」といいますが、Eclipseリファクタリング全盛…
■インターフェイスは単体では依存性を弱めない インターフェイスの効能として、よく「依存性を弱める」「疎結合にする」があげられますが、これはインターフェイスだけの効能ではありません。依存性を弱めるにはインターフェイスの仲介だけでは駄目です。 イ…
あるDIに関連するFrameWorkの本の監修レビューをしています。 その中で思う色々を以下につづります。
要求 顧客が表面的に欲しがっている事項 要件 要求の中でも、なくてはならない必須事項 このとき、「顧客にとって要求はすべて要件では?」という疑問があるかもしれないが、顧客は実現可能性(コスト・納期含む)を検討していない。 顧客要求(やりたいこと…
SpringComparison Springとの比較How does Guice compare to Spring et al? The Spring Framework, created by Rod Johnson, blazed the Java dependency injection trail. If not the first dependency injection framework, you can certainly credit Spri…
プロジェクトマネージメントで四苦八苦しながら考えてることをまとめていきたいと思います。 マネージメントに首を突っ込んだ当初「見積」をどうやっていいかわからなくて困った。 「不確実な未来をどう見積もったら良いのか?」に非常に苦しむ。 見積段階は…
TheServerSide.comに掲載された「UsingTerracottaDSO」の記事の翻訳 Terracottaとは 複数のJavaVM上で同じJavaオブジェクトを共用できるオープンソース製品。 2005年の製品登場時期より150台を超えるWEBコンテナのセッションをクラスタリングする事例が出る…
WicketのStockQuote Componentサンプルのチュートリアルカスタムコンポーネント: 株式相場 Custom Component: StockQuote This example shows how to create a custom Wicket component: a stock quote component. We assume you already are familiar with…
Wicketのマークアップの継承サンプルのチュートリアルThis markup inheritance example show you how to create reusable page layouts and panel layouts. このマークアップ継承のサンプルでは、再利用可能なページレイアウトおよびパネルレイアウトの作り…
WicketのAjax カウンターサンプルのチュートリアルAjax CounterAjax カウンターThis example shows you how to use Wicket's Ajax behaviors and components by building a simple counter that updates through Ajax link clicks. このサンプルは、Ajaxリン…
Wicketのフラグメントの利用法サンプルのチュートリアルフラグメントを使うThis example shows you how to use fragments (Wicket 1.2 feature) to lessen the burden on extra markup files. Fragments are 'inline panels' and are a quick way of using p…
付録:Injectorはどうやってインジェクションの要求を解決しているか?The injector's process of resolving an injection request depends on the bindings that have been made and the annotations found on the types involved. Here is a summary of ho…
ようやく完訳しました。多分めちゃくちゃ誤訳だらけです。自分で読んでて意味判らんところもありますので。。よかったら御指摘ください。 id:shot6さんが一覧化してくださいました。 http://d.hatena.ne.jp/shot6/20070320 一覧だと上から読めますね。 あり…
会社の技術情報サイトに寄稿してます。 http://www.kronos-jp.net/tech_list.htmlすでに出回りまくった初級編ですが、よろしければ!
Wicketの特徴 ※ 最近Guiceと共に気に入ってるWicketの公式サンプル解説を訳します。 Wicket (http://wicket.sourceforge.net)
WicketのHelloWorldサンプルのチュートリアル HelloWorld demonstrates the basic structure of a web application in Wicket. A Label component is used to display a message on the home page for the application. このHelloWorldはWicketを使ったWebア…
WicketのNavomaticサンプルのチュートリアル オートマティックナビゲーション、ナボマティック ?? Navomatic The Navomatic application shows the use of border components and links to create a navigation component that can easily be dropped into…
WicketのGuestBookサンプルのチュートリアル GuestBook The GuestBook application allows users to enter comments that appear on a page like a weblog. Drawing the list of comments is very easy with the Wicket ListView component. This example al…
暗黙的なバインドAs we saw in the introduction, you don't always have to declare bindings explicitly. In the absence of an explicit binding, Guice will try to inject and create a new instance of the class you depend on. If you depend on an …
インジェクティング・プロバイダー(注入仲介者)Sometimes a client needs multiple instances of a dependency per injection. Other times a client may not want to actually retrieve an object until some time after the actual injection (if at all…
定数値のインジェクトWhen it comes to constant values, Guice gives special treatment to several types:定数値が設定されると、Guiceはそれぞれの種類によって固有の処理を行います。 Primitive types (int, char, ...) Primitive wrapper types (Intege…
文字列の変換If Guice still can't find an explicit binding for one of the above types, it will look for a constant String binding with the same binding annotation and try to convert its value. For example:Guiceが、上記の種類の中でも明示的な…
カスタムプロバイダーSometimes you need to create your objects manually rather than let Guice create them. For example, you might not be able to add @Inject annotations to the implementation class as it came from a 3rd party. In these cases…