面向對象架構和開發原則css
面向對象的編碼設計最大化了組件的靈活性和擴張性,可以知足實現設計和實現高度定製化網站的需求。面向對象原則的優點包括實現了工廠開發設計模式和嚴格的展現邏輯代碼分離的結合。對象繼承也很重要:magento不只提供了典型的面向對象的編程機制,magento框架還提供了有基本功能可供繼承的核心組件以知足特定網站或者應用定製化的需求。html
嚴格分層的產品結構前端
這一結構實現展現層和邏輯層的分離。這一分離簡化了網站外觀和功能的定製化。架構層也爲開發者提供了高級模型來理解一個複雜系統中功能和代碼的最佳放置位置。magento調整裏典型的Model-View-Controller 架構模型,儘管:模塊裏的文件典型性地以功能而不是以文件類型進行分類。html5
magento框架定義了網站組件運行的基本概念和規則。magento框架包含模塊能夠訪問可是沒有任何業務邏輯的庫。它接受Http請求並把請求導向到響應的模塊。css3
展現層ajax
展現層同時提供視圖組件(佈局,模塊,模版)和控制器,它們從用戶交互界面接受指令並進行處理。展現層還能夠進行網絡服務API的綁定。(咱們將在展現層模型的時候講到這樣的服務綁定,由於,網絡API的請求是經過http請求和瀏覽器請求很像,能夠經過用戶界面發送ajax請求來實現。因此,網絡API請求不只能夠經過應用來發送,也能夠經過用戶界面)編程
服務層設計模式
經過使用服務協議,服務層定義了與業務邏輯交互的總體界面(例如,建立用戶和獲取稅率)。服務協議簡化了替換和更改服務的過程。瀏覽器
域層網絡
域層(也被稱爲業務邏輯層)在基類裏提供能夠擴展和定製的業務邏輯和功能,資源模型和數據訪問功能。
易於擴展
magento 使用依賴注入和服務協議來簡化實現一個已定義API的過程。
依賴注入的優勢包括:
1.使用模塊和服務的客戶端能夠忽略模塊和服務實現的細節
2.在使用依賴注入把業務邏輯鏈接起來的地方,你能夠在不用更改任何客戶端的狀況下更改模塊
服務協議提供了一種新的訪問公共API端點的方式。這些PHP和模塊的接口精簡了大部分模塊的API的調用。
模塊化
模塊是magento系統的基本功能單位。magento模塊包含運行所需事件和功能的邏輯。你能夠經過寫和整合新的模塊到安裝來擴展magento核心功能集。使用magento皮膚和語言包來建立你的可視化設計和語言功能。
高度可定製化的網店品牌化
擴展和定製你的網站的核心組件,PHP , html5,css3爲基礎的皮膚和語言包,以達到精確控制你的網站的行爲,外觀和感受的目的。
大量的開源技術
magento技術堆棧提供一個強大的工具集來部署大型的,分佈式的前端,爲你特定的需求來定製化產品。magento技術堆棧包括流行的開源技術像Linux OS,Apache/Nginx server, MySQL, Zend, and Composer.
想要magento技術堆棧的詳細描述,請查閱Magento Technology Stack.