diff --git a/guides/v2.2/extension-dev-guide/api-concepts.md b/guides/v2.2/extension-dev-guide/api-concepts.md index 69777cbad02..408ef28a840 100644 --- a/guides/v2.2/extension-dev-guide/api-concepts.md +++ b/guides/v2.2/extension-dev-guide/api-concepts.md @@ -8,24 +8,25 @@ menu_order: 3 ## What is a public interface? {#public-interface} -
A public interface is a set of code that third-party developers can call, implement, or build as a [plug-in](https://glossary.magento.com/plug-in). Magento guarantees that this code will not change in subsequent releases without a major version change.
-Public interfaces for a [module](https://glossary.magento.com/module) are marked with @api
annotation.
An application programming interface (API) is a set of interfaces and their implementations that a module provides to other modules.
+An application programming interface (API) is a set of interfaces and their implementations that a module provides to other modules. ### API types {#api-types} -The following items are considered types of APIs:
-Directory structure and configuration file structure are types of APIs because [extension](https://glossary.magento.com/extension) developers use them. Developers write configurations, and place their [static files](https://glossary.magento.com/static-files) in specified folders; so if the configuration file structure or directory structure changes in subsequent releases, modules and extensions may break.
+The following items are considered types of APIs: + +- Directory structure +- Configuration files structure +- Events +- Client API +- Provider [API](https://glossary.magento.com/api) (SPI) + +Directory structure and configuration file structure are types of APIs because [extension](https://glossary.magento.com/extension) developers use them. Developers write configurations, and place their [static files](https://glossary.magento.com/static-files) in specified folders; so if the configuration file structure or directory structure changes in subsequent releases, modules and extensions may break. diff --git a/guides/v2.2/extension-dev-guide/service-contracts/design-patterns.md b/guides/v2.2/extension-dev-guide/service-contracts/design-patterns.md index e592ff6b117..d50f1a3de4e 100644 --- a/guides/v2.2/extension-dev-guide/service-contracts/design-patterns.md +++ b/guides/v2.2/extension-dev-guide/service-contracts/design-patterns.md @@ -6,20 +6,22 @@ menu_title: Service contract design patterns menu_order: 4 --- -In the programming community, a design pattern is a recommended way of writing code that includes when to use, or not use, the pattern. Think of a [design pattern](https://glossary.magento.com/design-pattern) as a best practice with conditions.
-Design patterns for service contracts tell you which types of interfaces to define, and how and where to define and implement those interfaces.
+In the programming community, a _design pattern_ is a recommended way of writing code that includes when to use, or not use, the pattern. Think of a [design pattern](https://glossary.magento.com/design-pattern) as a best practice with conditions. + +Design patterns for service contracts tell you which types of interfaces to define, and how and where to define and implement those interfaces. {: .bs-callout-info } Service contract data interfaces are now mutable. ## Interface types and locations {#top-level-msc} -A [service contract](https://glossary.magento.com/service-contract) must define data interfaces, which preserve data integrity, and service interfaces, which hide business logic from service requestors.
-Data interfaces define functions that return information about data entities, return search results, and set validation rules and return validation results. You must define the data interfaces for a service contract in the Api/Data subdirectory for a [module](https://glossary.magento.com/module).
-- Service interfaces include management, repository, and [metadata](https://glossary.magento.com/metadata) interfaces. - You must define the service interfaces for a service contract in the Api subdirectory for a module. -
+A [service contract](https://glossary.magento.com/service-contract) must define data interfaces, which preserve data integrity, and service interfaces, which hide business logic from service requestors. + +Data interfaces define functions that return information about data entities, return search results, and set validation rules and return validation results. You must define the data interfaces for a service contract in the `Api/Data` subdirectory for a [module](https://glossary.magento.com/module). + +Service interfaces include management, repository, and [metadata](https://glossary.magento.com/metadata) interfaces. +You must define the service interfaces for a service contract in the `Api` subdirectory for a module. +