From 4040e8866510879a6b98296e81e4eca31931ab72 Mon Sep 17 00:00:00 2001 From: Kevin Harper Date: Mon, 15 Jul 2019 16:01:29 -0500 Subject: [PATCH 1/2] fixed broken glossary links --- .../v2.2/extension-dev-guide/api-concepts.md | 25 +++--- .../service-contracts/design-patterns.md | 81 ++++++++++--------- .../service-contracts/service-contracts.md | 31 ++++--- 3 files changed, 71 insertions(+), 66 deletions(-) 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.

+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. {: .bs-callout-info } Third-party developers should use only these interfaces, that is, interfaces with the `@api` annotation. You can use other interfaces but those may be modified or removed in subsequent Magento releases. For more information, see [Backward compatibility]({{ page.baseurl }}/contributor-guide/backward-compatible-development/). ## What is an API? {#api-definition} -

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..3af8925835f 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. +