オープンソースCMS「DotNetNuke」のセットアップ
前回はMicrosoft Web Platform Installerを利用して、DotNetNukeとWebMatrixをインストールする方法を紹介した。今回は、DotNetNukeのインストール方法を紹介する。
ブックマークされました!
ブックマークがエラーになりました。もう一度お願いします。
作者 Jonathan Allen , 翻訳者 徳武 聡 投稿日 2011年6月14日
NHibernateとWCFが導入されて以来、.NET開発者は統一したエンティティモデルという概念へ近づいてきた。そして、ORMエンティティ、WCF DTO、MVC、MVP、MVVMフレームワークのモデルに同じクラスが使われるという点に議論が生まれている。Dependency Injection in .NETの著者であるMark Seemann氏はこの事態を必ずしも良いことではないと考えている。
氏の最も重要鵜な論点は“境界ではアプリケーションはオブジェクト指向ではない”という記事に書かれている。良く知られているように、ほとんどのシリアライゼーションにはパブリックなデフォルトコンストラクタと書き込み可能なプロパティが必要だ。したがって、カプセル化は破れ、DTO設計でのデータの隠蔽が壊れる。さらに、フィールドをnullや空の値を受け付けない値にできない。DTOは文字通りすべてを無視してしまうのだ。氏は次のふたつを認める。
そして、この条件下で、氏は3つの選択肢を提示する。
ひとつは既に実施している方法です。ギャップを埋めるためにはDTOをカプセル化されたドメインモデルのオブジェクトに転換するレイヤが必要です。これは私が自著で紹介した方法です。しかし、この方法は最善の方法ではないかもしれないという思いを強くしました。メンテナンス性に問題があるのです。 (ちなみに、これは本を書くときの問題とも似ています。書き終わったときには書き始める前より知識が多くなっているのです。本を非難するわけではないのですが、完璧な本が書けないということです。)
データをオブジェクトとして扱うのをやめて構造データとして扱うというのもひとつの手段です。構造データという独立した概念を持つプログラミング言語があるといいでしょう。興味深いことにC#にはこのような概念はないのですが、F#に振る舞いのないデータ構造を定義する方法があります。ひょっとしたらこれが最も素直な方法なのかもしれません。私もさらに調べてみたいと思っています。
第3の選択肢は動的型を使うことです。Cutting Edge: Expando Objects in C# 4.0という記事の中でDino Esposito氏は動的な手法でコードの自動生成をせずに構造データを使い、構造データ向けの軽量なAPIを提供する方法を書いています。これは有望な方法のように思えます…コンパイルによるフィードバックが生まれませんが、これはコードが大丈夫だという誤った感覚を生み出します。単体テストを利用して素早いフォードバックを得る必要があります。みんなTDDで開発しているのだから問題ないでしょう。
オブジェクト指向設計とカプセル化に興味があるのなら、ポカヨケ設計: においから香りまでという氏の記事が参考になる。
前回はMicrosoft Web Platform Installerを利用して、DotNetNukeとWebMatrixをインストールする方法を紹介した。今回は、DotNetNukeのインストール方法を紹介する。
DotNetNukeは、Windows Serverで動作するCMS(Contents Management System)である。この記事ではWeb Platform Installer を利用して人気CMS「DotNetNuke」と無償Web開発環境「WebMatrix」のインストールする方法を紹介する。
クラウドコンピューティングを前提とした大規模データ技術が利用可能となってきています。Big Dataが一過性のブームで終わるかどうかにかかわらず、スケーラブルな分散アーキテクチャーの基盤はデータベース技術に主導されつつあります。RDBとORM主体のエンタープライズシステムは、HadoopやNoSQLとの組み合わせにより複合的なデータモデルに発展しました。
2011年12月8日~2011年12月9日に、ロンドンのSkills Matter eXchangeにて開催された「Groovy & Grails eXchange 2011」の参加報告を、日本Grails/Groovyユーザーグループのメンバーが3回に渡って紹介します。
Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します
去る1月12日、定理証明支援系ツールCoqの初心者向けチュートリアルが開催さ れた(http://kokucheese.com/event/index/23667/)。今後も2月2日 (http://kokucheese.com/event/index/23744/)、2月9日、2月16日と引き続���開 催されていく予定である。本記事では、開催の様子をレポートする。
Neal Gafter氏はOracleによるJava買収の影響に関する議論、Javaにセグメンテッドスタックやメタオブジェクトプロトコルを追加することについての主張、そしてJavaとC#との比較について話をしてくれた。
No comments
スレッド表示 返信