Magento 架构原则
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 架构原则的更多相关文章
- Magento 架构基础知识概述
		
Megento 架构基础知识概述 Magento整合了面向对象的基于PHP的应用程序的核心架构原则.这些一般原则的综合讨论既有在线的,也有印刷形式.以下讨论主要关注这些主题如何直接应用于Magento ...
 - Magento架构分析,Magento MVC 设计分析
		
Magento架构分析,Magento MVC 设计分析 分类:Magento 标签:Magento MVC.Magento架构 669人浏览 Magento 采用类似 JAVA的架构,其扩展与稳定性 ...
 - Magento架构师的笔记-----Magento显示当前目录的父分类和子分类的分类名
		
在Magento目录的分类页面里,希望在左侧导航获取到父分类和子分类,可以用以下方法:打开app/your_package/your_themes/template/catalog/navigatio ...
 - REST架构原则初探
		
目录 什么是RESTful架构? REST 架构原则 资源(Resource) 表现层(Representation) 状态转换(State Transfer) 无状态通信原则 RESUful API ...
 - JavaScript全讲-架构原则解析
		
因为近期一直在忙,非常久没有更新,见谅. 上篇我们讲完JavaScript函数式编程的特性,今天我们就来聊聊JavaScript中的架构. 提到JavaScript架构.非常多人会认为不可思议,由于架 ...
 - Twitter的支撑架构:扩展网络与存储并提供服务——架构原则:一次性将事情做对,NFL原则    LSM+B+存储替代cassandra
		
Twitter工程团队近期提供了Twitter核心技术的演进和扩展的详细资料,这些核心技术支撑了Twitter自营数据中心的系统架构,用于提供社会媒体服务.他们分享的关键经验包括:超越原始规格和需求进 ...
 - UML-架构分析-架构原则
		
1.高内聚 2.低耦合 3.防止变异(间接性等) 4.关注点分离 方法1: 事物模块化,封装到单独的子系统中 方法2: 装饰者模式 方法3: 面向方面(AOP)
 - Srinath总结 架构师们遵循的 30 条设计原则
		
作者:Srinath 翻译:贺卓凡,来源:公众号 ImportSource Srinath 通过不懈的努力最终总结出了 30 条架构原则,他主张架构师的角色应该由开发团队本身去扮演,而不是专门有个架构 ...
 - 【转】Apache的架构师们遵循的30条设计原则
		
本文作者叫Srinath,是一位科学家,软件架构师,也是一名在分布式系统上工作的程序员. 他是Apache Axis2项目的联合创始人,也是Apache Software基金会的成员. 他是WSO2流 ...
 
随机推荐
- SAP MM MI01事务代码里的批次确定
			
SAP MM MI01事务代码里的批次确定 1 – 批次管理启用之后果 一个物料如果启用了批次管理,那么库存管理以及盘点等诸多事务里都需要在批次的层次上进行. 货物移动的时候,需要在界面上指定相关货物 ...
 - Android远程桌面助手(Build 0737)
			
Android Remote Displayer and Controller Build 0737, Aug 02, 2017 新增功能: 录制MP4文件,突破了Android原生180S的限制 截 ...
 - Jmeter设置代理,抓包之app请求
			
步骤: 1. Jmeter选择测试计划,添加线程组,添加http请求,添加监听器-察看结果树 2. 添加http代理服务器,右键添加非测试元件-添加http代理服务器 3. 端口改为8889,目标控制 ...
 - SQL Server GUID 数据迁移至MongoDB后怎样查看?
			
关键字:SQL Server NEWID():BSON:MongoDB UUID 1.遇到的问题和困惑 SQL Server中的NEWID数据存储到MongoDB中会是什么样子呢?发现不能简单的通过此 ...
 - ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes
			
今天在MySQL 5.6版本的数据库中修改InnoDB表字段长度时遇到了"ERROR 1071 (42000): Specified key was too long; max key le ...
 - 【公众号系列】SAP HANA和区块链
			
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[公众号系列]SAP HANA和区块链 写在 ...
 - springboot运行时该注意的地方
			
1.SpringBoot的入口类一定要放在所有类的上一层,也就是要包含所有子包中的类 springBoot在启动时才会加载所有子包中的所有组件 否则会出现启动成功但是访问不到的情况: This app ...
 - python正则表达式相关记录
			
1 python中字符串前加‘r’,即可阻止‘\’导致的字符转义.但是在re.sub()中参数中加'r'不会起作用.
 - Ubuntu系统分配存储空间的建议以及给Ubuntu系统根目录扩容方法(从20GB追加100GB)
			
当初准备装双系统时,也思考了很久分配多少空间给Ubuntu16.04系统,查了许多资料,大多意思是‘/’目录总共给20GB,其他的给/home.网上资料推荐的大多跟这篇文章一样:https://blo ...
 - 【任务】Python语言程序设计.MOOC学习
			
[博客导航] [Python导航] 任务 18年11月29日开始,通过9周时间跨度,投入约50小时时间,在19年1月25日之前,完成中国大学MOOC平台上的<Python语言程序设计>课程 ...