2012-07-08 54 views
2

我最近參加了一個大型企業系統的演示,其網頁可以定製爲包含客戶端添加的字段。我的理解是,他們的建築是由以下層組成:易品牌網站架構

  1. 數據庫
  2. Web服務API
  3. XML是決定佈局
  4. 是從XML文件生成的網頁文件。

當我被要求調查打造一個可以輕鬆打上品牌的門戶網站時,這讓我覺得這是一個好方法。現在的問題是如何設計它。

我瞭解數據庫和Web服務層,但我對.NET中構建網站的各種可能性有點困惑。

考慮定製靈活性的要求,從上面的建築,這裏就是我所理解的選項:

  1. Web表單 - 我最熟悉的選擇,但它本質上是富含代碼隱藏HTML。我認爲可能會做很多工作來使它與XML佈局的想法一致。
  2. WPF - XAML中間層是內置的,但據我所知,WPF只能真正用於瀏覽器應用程序而不是網站。
  3. Silverlight - 更多用於構建applets而不是網站,對吧?
  4. MVC - 這看起來很有趣,但我看到的所有演示也都使用了Entity Framework。在我看來,實體框架及其所有自動生成代碼更適用於全新的應用程序。在我的情況下,我有一個非常大的數據庫已經存在。

如果以上都不合適,我想到了另一種方法。人們可以用一個Web服務來完成一個股票標準Webforms站點,該服務返回品牌元素。這與我在頂部所描述的不完全相同,但足以滿足我的需求。

還是我吠叫錯了樹?

+0

我想你想看看XSLT,它是用來從XML創建HTML的。 – 2012-07-08 18:54:48

回答

1

我認爲你對MVC的批評不在意。首先,你不需要使用實體框架,其次,即使你做了,你也可以先將它做成數據庫來生成你的實體。

您對WPF和Silverlight的評估在imo上非常有用。

你可以用webforms來做到這一點,但我認爲你可能會發現用MVC架構來做這件事會更乾淨。很簡單,如果您使用乾淨的HTML並將所有品牌元素放入外部CSS文件(徽標,顏色等)中,那麼您就是定製品牌的一半。即使是不同的佈局可能由CSS文件中定義(儘管它可能更難爲最終用戶能夠自定義外觀,因爲他們需要知道的CSS相當不錯)

建設附加字段可能較爲困難,:

關閉袖口,我會考慮實現這個的方式是將標準數據庫佈局中的預定義字段(包括用戶名,密碼,名字等的用戶表)和對「可定製字段「使用Entity-attribute-value pattern

從那裏你將需要開發一個可擴展的系統1.從xml生成一個頁面與appropri吃表單元素(選擇,文本輸入,textarea等)。 2.生成一個通用模型,該模型將讀取同一個XML文件,並能夠接收來自發布表單的數據並知道如何將其保存到數據庫(注意,在這種情況下,如果它是所有的entity-attribute-value,可能是比標準關係型和EAV組合更容易管理)。

您可能希望將.NET Data Contracts看作可序列化的實體,以瞭解如何將您的XML文件設計爲可擴展,以允許諸如「選擇菜單具有以下3個選項」或文本輸入必須匹配這個正則表達式。

真的要留意可擴展性,因爲你不能一次構建它。

+0

好吧,我顯然將不得不再看看現有數據庫的MVC。感謝您指點我的數據合同 - 這將會非常方便。 – 2012-07-10 07:38:54