面向对象架构和开发原则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.