Magento架构原则

》OOP体系结构和编程原则
OOP体系结构和编程原则面向对象编程(OOP)设计允许软件组件具有最大的灵活性和可扩展性,允许您设计和实现高度定制的网站。面向对象原则的优点包括结合行业标准的编程设计模式以及业务逻辑与表示的严格分离。对象继承也很重要:与经典的面向对象的编程方法一致,Magento平台为核心组件提供了基本功能,可以由特定网站或应用程序的自定义组件继承。

》强大的分层产品架构
这支持视觉呈现与业务逻辑的分离。这种划分简化了商店外观和行为的定制。架构层还为程序员提供了高级模型,以便了解复杂系统中功能和代码的最佳位置。然而,Magento调整了经典的Model-View-Controller体系结构模型:模块中的文件通常按功能而不是文件类型分组。Magento框架定义了网站组件如何表现的基本概念和规则。Magento框架包含模块访问的库,但不包含业务逻辑组件。它接受HTTP请求并将它们路由到适当的模块。

-表示层
表示层提供视图组件(布局,块,模板)和控制器,它们处理来自和来自用户界面的命令。表示层还可以包含Web API服务绑定。(我们将这些服务绑定包含在表示层模型的讨论中,因为Web API调用像浏览器请求一样通过HTTP进入,并且可以通过来自用户界面的AJAX调用来进行。因此,尽管Web API调用可能来自外部应用程序,它们也可以源自用户界面。)

-服务层
通过使用服务合同,服务层定义了与业务逻辑交互的整体界面(例如,创建客户和获得税率)。服务合同简化了替换或修改(通过插件)服务的过程。

-域图层
域层(也称为业务逻辑层)提供了可以扩展和自定义的基类,资源模型和数据访问功能的业务逻辑和功能。

》易于扩展
Magento使用依赖注入和服务契约来简化为定义的API提供新实现的过程。依赖注入的好处包括:使用模块或服务的客户端可能仍然不了解模块或服务的实现细节您可以修改模块,而无需在使用依赖注入框架将应用程序逻辑连接在一起的任何地方更改客户端。服务合同提供了一种访问公共API端点的新方法。这些模块的PHP接口简化了大多数模块的API使用。

依赖注入的好处包括:

  • 使用模块或服务的客户端可能仍然不了解模块或服务的实现细节。
  • 您可以修改模块,而无需在使用依赖注入框架将应用程序逻辑连接在一起的任何地方更改客户端。

服务合同提供了一种访问公共API端点的新方法。这些模块的PHP接口简化了大多数模块的API使用。

》模块化模块

是Magento系统的基本功能单元。Magento模块包含执行所需操作和功能的逻辑。通过编写和将新模块合并到您的安装中来扩展Magento的核心功能集。使用Magento主题和语言包创建商店的视觉设计和语言功能。

》高度可定制的商店品牌

扩展和自定义Magento商店基于PHP,HTML5和CSS3的默认主题和语言包的核心组件,以精确控制您网站的行为和外观。

》大量的开源技术

Magento技术栈提供了一个强大的工具集,用于部署大型分布式店面并根据您的特定需求定制产品。Magento堆栈包括流行的开源技术,如Linux操作系统,Apache / Nginx服务器,MySQL,Zend和Composer。有关Magento技术堆栈的全面介绍,请参阅Magento技术堆栈。

Magento 架构原则的更多相关文章

  1. Magento 架构基础知识概述

    Megento 架构基础知识概述 Magento整合了面向对象的基于PHP的应用程序的核心架构原则.这些一般原则的综合讨论既有在线的,也有印刷形式.以下讨论主要关注这些主题如何直接应用于Magento ...

  2. Magento架构分析,Magento MVC 设计分析

    Magento架构分析,Magento MVC 设计分析 分类:Magento 标签:Magento MVC.Magento架构 669人浏览 Magento 采用类似 JAVA的架构,其扩展与稳定性 ...

  3. Magento架构师的笔记-----Magento显示当前目录的父分类和子分类的分类名

    在Magento目录的分类页面里,希望在左侧导航获取到父分类和子分类,可以用以下方法:打开app/your_package/your_themes/template/catalog/navigatio ...

  4. REST架构原则初探

    目录 什么是RESTful架构? REST 架构原则 资源(Resource) 表现层(Representation) 状态转换(State Transfer) 无状态通信原则 RESUful API ...

  5. JavaScript全讲-架构原则解析

    因为近期一直在忙,非常久没有更新,见谅. 上篇我们讲完JavaScript函数式编程的特性,今天我们就来聊聊JavaScript中的架构. 提到JavaScript架构.非常多人会认为不可思议,由于架 ...

  6. Twitter的支撑架构:扩展网络与存储并提供服务——架构原则:一次性将事情做对,NFL原则 LSM+B+存储替代cassandra

    Twitter工程团队近期提供了Twitter核心技术的演进和扩展的详细资料,这些核心技术支撑了Twitter自营数据中心的系统架构,用于提供社会媒体服务.他们分享的关键经验包括:超越原始规格和需求进 ...

  7. UML-架构分析-架构原则

    1.高内聚 2.低耦合 3.防止变异(间接性等) 4.关注点分离 方法1: 事物模块化,封装到单独的子系统中 方法2: 装饰者模式 方法3: 面向方面(AOP)

  8. Srinath总结 架构师们遵循的 30 条设计原则

    作者:Srinath 翻译:贺卓凡,来源:公众号 ImportSource Srinath 通过不懈的努力最终总结出了 30 条架构原则,他主张架构师的角色应该由开发团队本身去扮演,而不是专门有个架构 ...

  9. 【转】Apache的架构师们遵循的30条设计原则

    本文作者叫Srinath,是一位科学家,软件架构师,也是一名在分布式系统上工作的程序员. 他是Apache Axis2项目的联合创始人,也是Apache Software基金会的成员. 他是WSO2流 ...

随机推荐

  1. iOS ----------NSDate 、CFAbsoluteTimeGetCurrent、CACurrentMediaTime 的区别

    框架层: NSDate 属于Foundation CFAbsoluteTimeGetCurrent() 属于 CoreFoundatio CACurrentMediaTime() 属于 QuartzC ...

  2. 自定义xUtils框架

    xUtils是基于Afinal开发的目前功能比较完善的一个Android开源框架,最近又发布了xUtil3.0,在增加新功能的同时又提高了框架的性能.它的功能很强大,但是有时候我们只需要其中的一些功能 ...

  3. vs文件上传失败--超过最大字符限制

    一.问题 在文件上传时,会遇到大文件上传失败. >F12查看报错网络请求返回结果 >问题分析 由于vs上传文件默认的字符大小控制. 二.解决方法 >在web.config中修改或添加 ...

  4. Netty学习笔记(三) 自定义编码器

    编写一个网络应用程序需要实现某种编解码器,编解码器的作用就是讲原始字节数据与自定义的消息对象进行互转.网络中都是以字节码的数据形式来传输数据的,服务器编码数据后发送到客户端,客户端需要对数据进行解码, ...

  5. redis 慢日志查询

    Intro 可能有一些命令需要很长时间才能在redis服务器上处理,导致请求超时. 长时间运行的命令的很少例子有 mget有大量的键,键*或写得不好的lua脚本. 可以运行通过 SlowLog 命令查 ...

  6. 【实战代码】PHP实现读取一个1G的文件大小

    本文地址:http://www.cnblogs.com/aiweixiao/p/7535351.html 欢迎关注我的微信公众号哈 “ 程序员的文娱情怀” http://t.cn/RotyZtu [背 ...

  7. Flink 的Window 操作(基于flink 1.3描述)

    Window是无限数据流处理的核心,Window将一个无限的stream拆分成有限大小的”buckets”桶,我们可以在这些桶上做计算操作.本文主要聚焦于在Flink中如何进行窗口操作,以及程序员如何 ...

  8. git -分支管理(创建、推送、删除)

    分支创建并推送: 1.查看当前所有分支,当前分支前面会标出一个*号 git branch -a 2.新建分支 git branch android_O 3.切换到新分支 git checkout an ...

  9. loadrunner脚本函数讲解

    一. get请求和post请求区别:web_link(get).web_submit_form(post)依赖上下文,web_url.web_submit_data不依赖上下文,建议使用web_url ...

  10. Java多线程之ReentrantLock与Condition

    一.ReentrantLock 1.ReentrantLock简介 ReentrantLock是一个可重入的互斥锁,又被称为“独占锁”.ReentrantLock 类实现了 Lock ,它拥有与 sy ...