magento 架构原理
2019独角兽企业重金招聘Python工程师标准>>>
面向对象架构和开发原则
面向对象的编码设计最大化了组件的灵活性和扩张性,能够满足实现设计和实现高度定制化网站的需求。面向对象原则的优势包括实现了工厂开发设计模式和严格的展示逻辑代码分离的结合。对象继承也很重要:magento不仅提供了典型的面向对象的编程机制,magento框架还提供了有基本功能可供继承的核心组件以满足特定网站或者应用定制化的需求。
严格分层的产品结构
这一结构实现展示层和逻辑层的分离。这一分离简化了网站外观和功能的定制化。架构层也为开发者提供了高级模型来理解一个复杂系统中功能和代码的最佳放置位置。magento调整里典型的Model-View-Controller 架构模型,尽管:模块里的文件典型性地以功能而不是以文件类型进行分类。
magento框架定义了网站组件运行的基本概念和规则。magento框架包含模块可以访问但是没有任何业务逻辑的库。它接受Http请求并把请求导向到响应的模块。
与架构层集成
展示层
展示层同时提供视图组件(布局,模块,模版)和控制器,它们从用户交互界面接受指令并进行处理。展示层还可以进行网络服务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.
转载于:https://my.oschina.net/u/3623541/blog/1492284
magento 架构原理相关推荐
- 2021年大数据ELK(十一):Elasticsearch架构原理
全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 Elasticsearch架构原理 一.Elasticsearch的节点类型 ...
- Tomcat 架构原理解析到架构设计借鉴
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 Tomcat 架构原理解析到架构设计借鉴 Tomcat 发展这 ...
- 倒排索引原理_拜托,面试请不要再问我分布式搜索引擎的架构原理!
欢迎关注头条号:石杉的架构笔记 周一至周五早八点半!精品技术文章准时送上!!! 精品学习资料获取通道,参见文末 目录 (1)倒排索引到底是啥? (2)什么叫分布式搜索引擎? (3)ElasticSea ...
- 大牛实战归纳——Kafka架构原理
作者:qq_41534566 https://blog.csdn.net/qq_41534566/article/details/81210496 对于kafka的架构原理我们先提出几个问题? 1.K ...
- 兄弟,用大白话告诉你小白都能看懂的Hadoop架构原理
本文来自:石杉的架构笔记 目录 一.前奏 二.HDFS的NameNode架构原理 一.前奏 Hadoop是目前大数据领域最主流的一套技术体系,包含了多种技术. 包括HDFS(分布式文件系统),YARN ...
- ES 的分布式架构原理能说一下么?
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | http://8rr.co/Gs9a 面试题 ...
- Tomcat 架构原理到架构设计,写得非常好!
Tomcat 架构原理解析到架构设计借鉴 Tomcat 发展这么多年,已经比较成熟稳定.在如今『追新求快』的时代,Tomcat 作为 Java Web 开发必备的工具似乎变成了『熟悉的陌生人』,难道说 ...
- docker tag 删除images_深入浅出 Docker (二) —— Docker的基本概念和架构原理
1. Docker 的基本概念 Docker 有三个基本概念: 镜像(Image) 容器(Container) 仓库(Repository) 1.1 镜像(Image) 操作系统分为内核和用户空间.对 ...
- Elasticsearch架构原理
架构原理 本书作为 Elastic Stack 指南,关注于 Elasticsearch 在日志和数据分析场景的应用,并不打算对底层的 Lucene 原理或者 Java 编程做详细的介绍,但是 Ela ...
最新文章
- 智源学者文再文获北京市杰出青年中关村奖
- Partition函数
- mysql常用到的几个命令
- cad打印样式ctb丢失_CAD制图初学入门之常见的CAD打印设置汇总
- github本地文件和远端文件的协同
- top命令---Linux学习笔记
- equipment hierarchy download不完整的一个原因
- spark集群配置以及java操作spark小demo
- 架构设计 | 分布式业务系统中,全局ID生成策略
- 如何:向 Windows 窗体组件附加智能标记
- java list数据的更新_新增页面提交数据 list页面没有更新数据
- 从 Ops 到 NoOps,阿里文娱智能运维的关键:自动化应用容量管理
- 【java】的传值方式
- wherehows VM使用
- stm32+lcd显示汉字之GBK编码
- 电脑主机插入耳机无声音
- MATLAB2017B 下载
- 蛋白质组学技术与药物作用新靶点研究进展
- OpenCV:图像的基本操作之修改像素、拆分及合并RGB通道
- 第十届蓝桥杯国赛Scratch编程真题解析:沙漠变绿洲
热门文章
- mysql插入性能测试
- 高并发热点/单点数据_性能问题解决方案
- sqlexception: default 和 null 不允许作为显式标识值_我都把MySql啃得这么透彻了,你还不进来看一下吗?...
- python123蟒蛇代码_[蟒蛇菜谱] Python封装shell命令
- 实验代做 行人识别_《行人跨模态重识别 | 双向限制的排序损失》
- mt4双线macd_手机版MT4怎样添加双线MACD指标 手机MT4双线MACD设置方法
- mysql怎么添加约束成绩_mysql怎么添加约束?
- java生成excel到本地_java 将数据库中的数据导出成Excel文件 并保存到本地 将文件地址返回给前端...
- java微调器_java-更改微调器标题栏样式
- arduino lora通讯_ESP8266 LoRa网关第一步:SPI总线