zoukankan      html  css  js  c++  java
  • Magento2 Service contracts 服务合同

    服务合同

    Magento是一个模块化系统,它使第三方开发人员能够定制和覆盖其框架的核心部分。然而,这种灵活性是有代价的。

    业务逻辑倾向于泄漏Magento系统的各个层,这表现为重复且不一致的代码。

    商家可能不愿意升级Magento,因为他们购买的自定义扩展程序可能与新版本的Magento不兼容。此外,Magento和第三方开发人员发现很难跟踪和报告自定义扩展在其他扩展上的依赖关系。

    为了解决这些问题,Magento系统引入了服务合同。

    什么是服务合同?

     服务合同 是一组 PHP 中针对定义的接口 模块 。服务合同包括保持数据完整性的数据接口服务接口服务接口隐藏服务请求者(如控制器,Web服务和其他模块)的业务逻辑细节。

    如果开发人员根据一组设计模式定义数据和服务接口,那么结果就是一个定义明确,持久的 API ,其他模块和第三方扩展可以通过Magento模型和资源模型实现。

    服务合同利益

    服务合同增强了Magento的模块化。它们使Magento和第三方开发人员能够通过composer.json文件报告系统依赖性,从而保证Magento版本之间的兼容性。这种兼容性确保商家可以轻松升级Magento。

    这些合同确保了其他模块和第三方扩展可以实现的定义明确,持久的API。此外,这些合同使得将服务配置为Web API变得容易

    数据实体是服务合同的附带好处。通常支持这些实体的数据库表可能很复杂。例如,某些属性可能存储在EAV表中,因此一组MySQL数据库表可能定义单个数据 实体 。服务合同中的数据实体显示比底层关系数据库模式中的数据模型更简单的数据模型最终,您将能够针对不同的数据集合使用不同的存储技术。例如,您可以使用NoSQL数据库替换产品表。

    使用@api标签

    可以通过使用来指示向后兼容性@api有关更多信息,请参阅向后兼容性

  • 相关阅读:
    IOS中图片拉伸技巧与方法总结
    iOS xcode8提交 iOS10 “此构建版本无效”
    ios 通过代码调节屏幕亮度
    修改UIBarButtonItem字体大小、颜色等相关属性
    iOS tableView编辑添加多个按钮
    iOS开发 适配iOS10
    iOS开发系列--并行开发其实很容易
    CATransform3D 特效详解
    iOS 图片切圆角的另外两种方式
    获取UILabel宽度的方法
  • 原文地址:https://www.cnblogs.com/q1104460935/p/9326970.html
Copyright © 2011-2022 走看看