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流 ...
随机推荐
- Docker for Win10中文乱码问题
environment:win10 docker+centos7+nginx1.9.9 issue:在docker运行nginx(centos),volume本地html目录挂载到nginx的htm ...
- Android 启动APP时黑屏白屏的解决方案
在开发中,我们在启动app的时候,屏幕会出现一段时间的白屏或者黑屏,不同设备时间长短不同.很影响用户体验. 首先分析一下,产生这个现象的原因,当我们在启动一个应用时,系统会去检查是否已经存在这样一个进 ...
- 安装最新nodejs
# apt-get update # apt-get install -y python-software-properties software-properties-common # add-ap ...
- c/c++ 网络编程 UDP 改变IP地址
网络编程 UDP 改变IP地址 在程序里动态改变主机的IP地址 1,改变ipv4的地址 #include <stdio.h> #include <string.h> #incl ...
- Zabbix常见触发器表达式
Zabbix trigger是zabbix 进行告警通知的设定条件 ,当监控获取的值触发了设定的条件时,会按照触发器的设定,执行相应的action 操作 .在zabbix中为了比较方便的设定各种条件, ...
- Java实现Sunday百万级数据量的字符串快速匹配算法
背景 在平时的项目中,几乎都会用到比较两个字符串时候相等的问题,通常是用==或者equals()进行,这是在数据相对比较少的情况下是没问题的,当数据库中的数据达到几十万甚至是上百万千万的数 ...
- python 词云学习
词云入门 三步曲 数据获取:使用爬虫在相关网站上获取文本内容 数据清洗:按一定格式对文本数据进行清洗和提取(文本分类,贴标签) 数据呈现:多维度呈现和解读数据(计算,做表,画图) 一 模块的安装 pi ...
- Python爬虫【实战篇】百度翻译
先看代码 import requests headers = { "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS ...
- 关于vue-router中点击浏览器前进后退地址栏路由变了但是页面没跳转
情景: 在进行正常页面跳转操作后(页面A跳转到页面B),点击浏览器的左上角的‘后退’按钮,点击后,可以看到url地址已经发生了变化(url由页面B变为页面A),hash值也已经是上一页的路由,但是浏览 ...
- centos7下kubernetes(14。kubernetes-DNS访问service)
我们在部署kubernetes时,会自动部署dns组件,其作用是通过dns解析的方法访问service coredns是一个DNS服务器,每当有新的service被创建,kube-dns会添加该ser ...