開發架構的演化

開發架構的演化最近看了篇文章 談談對於企業級系統架構的理解 ,總結了項目開發架構的演化過程。一、在我們剛開始學習架構的時候,首先會想到分層的概念,分層架構比較經典的是三層架構,那麼,什麼是三層架構呢?它包括表現層,業務層,資料訪問層;而對於一個新手來說,從抽象意義上的三層架構,邏輯上就劃分為三個層。這個是最基本的三層架構模式。二、表現層:充當系統的介面呈現以及UI邏輯的角色,也就是說,UI(使用者介面)屬於表現層;                      舉一個對於asp.net

Oxite分析之初始化

change set:46759 download:http://oxite.codeplex.com/SourceControl/ListDownloadableCommits.aspx Web應用程式的初始化我覺得應該分兩類,一類是系統級的初始化,另一類是應用程式級的初始化。兩者也有交叉的部分,如將會談到的Application_Start 和 Application_End

可擴充流程設計工具方案

  本文闡述了基於中繼資料和xml的流程設計工具的一種實現方案,目的是能夠讓流程設計工具以最小的變動來應對不同項目、不同業務情境的需求變化。   首先,我們來看一種比較常見的設計工具的結構:    上面僅是設計工具部分,該部分只是產生使用者建模流程的xml,至於後台解析部分該模型就不詳細介紹了。

Orchard源碼分析(5.3):EndRequest事件處理(DefaultOrchardHost.EndRequest方法)

EndRequest事件處理的作用是處理完"處理引擎(ProcessingEngine)"中的任務(Task)。        void IOrchardHost .EndRequest() {            Logger.Debug( "EndRequest");            EndRequest();        }           protected virtual void EndRequest() {            // Synchronously

[譯]Razor內幕之介紹

Razor文法的主要設計目標是:讓代碼和標記流能夠一起工作同時盡量不與控制字元衝突。例如,下面的ASPX代碼:<ul>      <% foreach(var p in Model.Products) { %>      <li><%= p.Name %> ($<%= p.Price %>)</li>      <% } %>  </ul>  現在,我們僅留下我們實際上關注的東西,去除額外的ASPX控

Cursor identified in Fetch statement is not open

在weblogic9.1和9.2版本中使用其內建的資料庫驅動串連db2V9.5時,流程解析發布報錯: 經過測試,應該是weblogic自身提供的驅動版本問題。解決方案如下:1. 將db2安裝目錄下的驅動copy到目錄:%WL_HOME%\server\lib\2. 修改%WL_HOME%\common\bin下的commEnv.cmd檔案,在WEBLOGIC_CLASSPATH變數中增加內容:%WL_HOME%\server\lib\db2jcc.jar;%WL_HOME%\server\lib

[譯]Razor內幕之解析

ASPX文法比較簡單,所以ASPX解析器幾乎完全是通過Regex來實現的。Razor解析器與ASPX解析器之間有很大不同,它實際上分為三個獨立的組件:1)理解基礎HTML文法的標記解析器;2)理解基礎C#或者VB文法的代碼解析器;3)理解標記和代碼如何混合的中央控制器所以Razor解析器有三個參與者:代碼解析器,標記解析器,代碼解析器。三個組件相互配合,協同工作完成對Razor文檔的解析。Razor解析器有三種狀態,分別是:解析標記文檔、解析標記塊,解析代碼塊,任何情況下解析器都處在以上三種狀態

Orchard動態編譯機制

文章目錄 概述發現樣本裝載機選擇樣本引用解析配置更改檢測"~/App_Data/Dependencies/Dependencies.xml" 檔案參考文檔 Orchard作為一個可擴充的CMS系統,需要在運行時載入一些模組或主題(統稱擴充)。從Orchard 0.5版起就致力於讓安裝和升級這些擴充變得更加簡單。Orchard和其他任何一個ASP.NET MVC應用程式一樣,都可以在Visual

[譯]Razor內幕之模板

Razor中的內聯模板特性並沒有被廣泛討論,但是它提供了將內聯模板作為方法參數的能力。現在只有asp.net頁面中的Grid helper使用了內聯模板,也並沒有很多關於如何建立自己的模板協助類的文檔,但是本文會對其進行一定的探討。首先,我們來看一下當使用內聯模板的時候產生了什麼代碼。下面通過一個 "Repeat"的模板協助類來說明,這個協助類的功能是按照指定的次數重複輸出模板內容。使用這個協助類的頁面內容如下:<!DOCTYPE html>  <html>       

Orchard源碼分析(1):Orchard架構

本文主要參考官方文檔"How Orchard works"以及Orchardch上的翻譯。源碼分析應該做到庖丁解牛,而不是以管窺豹或瞎子摸象。所以先對Orchard架構有個整體的瞭解,以及對一些基本概念有所認識。建立一個基於Web的CMS(內容管理系統)不同於建立一個普通的Web應用程式:它更像是建立一個應用程式容器。

Xoohoo系列(二):初始化配置、載入模組或後台服務

從開發的角度講,Global.asax檔案是基於ASP.NET 應用程式的入口,而Application_Start方法正是一切的開始。 連結:IIS 5.0 和 6.0 的 ASP.NET

基於SAML的單點登入.NET代理端實現方案

SAML的相關內容就不介紹了,想深究的可以研究下相關的規範,主要寫下大體的思路。通過SAML實現單點登入的運轉過程 此處的ServiceProvider是服務提供者,也就是使用者需要訪問的應用,IdentityProvider是認證提供者。通過可以看出,當使用者訪問一個應用的時候,如果使用者沒有登陸,那麼需要將使用者重新導向到認證服務,認證服務判斷該使用者是否已經經過認證,如果沒有認證過那麼進行認證,然後產生斷言響應發送給SP,SP負責處理斷言,驗證使用者是否認證通過。也就是說SP進行了請求轉寄

[譯]Razor內幕之運算式

我們看一下之前例子中的代碼:<li>@p.Name ($@p.Price)</li>是如何解析的。  當遇到"<li>"字元序列的時候,解析器知道正在解析一個以"</li>"為結束標誌的標記。然後標記解析器在解析到結束標誌之前發現了一個"@"字元,就像"@foreach"一樣,再次切換到代碼解析器。這時和之前的解析有些不同,C#代碼解析器發現第一個標識符"p"時,它會檢查這個標識符是不是C#的關鍵字;當然"p"並不是C#關鍵字,所以代碼解析器進入"

【轉載】Tomcat記憶體溢出的原因及調試

在生產環境中tomcat記憶體設定不好很容易出現記憶體溢出。造成記憶體原因是不一樣的,當然處理方式也不一樣。 這雷根據平時遇到的情況和相關資料進行一個總結。常見的一般會有下面三種情況: 1.OutOfMemoryError: Java heap space 2.OutOfMemoryError: PermGen space 3.OutOfMemoryError: unable to create new native thread. Tomcat記憶體溢出解決方案 對於前兩種情況,在應用本身沒有

Orchard源碼分析(5):Host相關(Orchard.Environment.DefaultOrchardHost類)

概述Host 是應用程式定義域級的單例,代表了Orchard應用程式。其處理應用程式生命週期中的初始化、BeginRequest事件、EndRequest事件等。 可以簡單理解為HttpApplication的功能轉移到了Host身上。從源碼角度上看,Host對應的是實現了IOrchardHost介面的

Could not find the main class. Program will exit.

  用新搭建的eclipse IDE開發環境開啟之前的eclipse工作空間之後,執行ant指令碼報錯:"Could not find the main class. Program will exit"。G了下資料,發現有人說,可能是更換環境之後,當前ant_home的目錄依然指向之前eclipse plugins的ant,於是按照說明將Window->Preferences->Ant->Runtime中的ant_home置為當前eclispe plugins中的ant目錄。

去除對象中的類型集合

一般來說,當某一個對象有多個集合類型的子項目時,我們都會給每個子項目建立一個集合對象來承載子項目,類似於:  public class Process {public var isExecutable:Boolean;public var refLaneSet:LaneSet;public var startEventList:ArrayList;public var endEventList:ArrayList;public var

HttpApplication的認識與加深理解

HttpApplication對象是經由HttpApplicationFactory.GetApplicationInstance(並最終調用HttpRuntime.CreateNonPublicInstance)建立的HttpApplicationFactory它的主要任務是使用 URL 資訊來尋找 URL 虛擬目錄和彙集的 HttpApplication 對象之間的匹配關係。這個工廠類的行為概括為有以下幾點1、工廠類維護, HttpApplication

Orchard源碼分析(5.2):BeginRequest事件處理(DefaultOrchardHost.BeginRequest方法)

BeginRequest事件處理的作用是確保所有Shell已經載入,或者在擴充有變化的時候重新載入。         void IOrchardHost .BeginRequest() {            Logger.Debug( "BeginRequest");            BeginRequest();        }          protected virtual void BeginRequest() {            // Ensure all

重構手法02:Inline Method (內嵌函式)

一個函數調用的本體與名稱同樣清楚易懂。在函數調用點插入函數體,然後移除該函數。int GetRating()        {            return MoreThanfiveLateDeliverise() ? 2 : 1;        }        bool MoreThanfiveLateDeliverise()        {            return _numberOfLateLiveries > 5;        }   int

總頁數: 61357 1 .... 6058 6059 6060 6061 6062 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.