CFMLでデザインパターン実装(2)まとめ

cfinterfaceを使う意味は、やっぱり微妙でしたよ。
以前書いたようにColdfusionではソースコードを書いている際にコンパイル・エラーを出すというチェック機能がないのと、パラメータの型指定が省略可能であるせいで、インターフェイスを定義するメリットが大きく落ちています。

01:<cfcomponent output="false">
02:
03:	<cffunction name="Director" access="public" returntype="void">
04:		<cfargument name="builder" type="cftest.gof.builder.Builder" required="true"/>

その為、このcf-3:Directorの4行目を

04:		<cfargument name="builder" type="any" required="true"/>

とか、

04:		<cfargument name="builder" required="true"/>

としても動いてしまいます。じゃ、ダック・タイピングな実装にしても同じじゃないか、と。

動的型付け(というか、恐らく正体はjava.lang.Object)な開発環境を作っているのに何故?という気持ちでいっぱいです。本当にありが(ry