deploy: 1e5fd62577
This commit is contained in:
parent
a35732a260
commit
a527835756
201 changed files with 598 additions and 1100 deletions
|
|
@ -25,14 +25,14 @@ Context An app can have interfaces. It makes it possible for other apps to exten
|
|||
Like in this example, we have an interface, to implement different ways for getting weights from scales:">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://alguidelines.dev/docs/patterns/event-bridge-pattern/"><meta property="og:image" content="https://alguidelines.dev/images/og-image-fission.png"><meta property="article:section" content="docs">
|
||||
<meta property="article:modified_time" content="2022-02-24T14:45:35+01:00"><meta property="og:site_name" content="alguidelines.dev - Business Central Design Patterns">
|
||||
<meta property="article:modified_time" content="2022-02-24T15:36:06-08:00"><meta property="og:site_name" content="alguidelines.dev - Business Central Design Patterns">
|
||||
<meta itemprop=name content="Event Bridge">
|
||||
<meta itemprop=description content="Created by waldo & Arend-Jan Kauffmann, Described by waldo
|
||||
Abstract In the world of interfaces, it is important to preserve (certain) events over multiple implementation of the interface.
|
||||
Context An app can have interfaces. It makes it possible for other apps to extend/change the implementations of a certain part of the business logic.
|
||||
Like in this example, we have an interface, to implement different ways for getting weights from scales:">
|
||||
<meta itemprop=dateModified content="2022-02-24T14:45:35+01:00">
|
||||
<meta itemprop=wordCount content="306"><meta itemprop=image content="https://alguidelines.dev/images/og-image-fission.png">
|
||||
<meta itemprop=dateModified content="2022-02-24T15:36:06-08:00">
|
||||
<meta itemprop=wordCount content="299"><meta itemprop=image content="https://alguidelines.dev/images/og-image-fission.png">
|
||||
<meta itemprop=keywords content="AL,Interface,Extendability,"><meta name=twitter:card content="summary_large_image">
|
||||
<meta name=twitter:image content="https://alguidelines.dev/images/og-image-fission.png">
|
||||
<meta name=twitter:title content="Event Bridge">
|
||||
|
|
@ -69,7 +69,7 @@ Like in this example, we have an interface, to implement different ways for gett
|
|||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="navbar-nav d-none d-lg-block"><input type=search class="form-control td-search-input" placeholder=" Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.2b0c36478a8660f3dec37e0c539508bc.json data-offline-search-base-href=/ data-offline-search-max-results=10>
|
||||
<div class="navbar-nav d-none d-lg-block"><input type=search class="form-control td-search-input" placeholder=" Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.446cc05ee9bff165bd123d203082adb7.json data-offline-search-base-href=/ data-offline-search-max-results=10>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
|
@ -80,7 +80,7 @@ Like in this example, we have an interface, to implement different ways for gett
|
|||
<div id=td-sidebar-menu class=td-sidebar__inner>
|
||||
<div id=content-mobile>
|
||||
<form class="td-sidebar__search d-flex align-items-center">
|
||||
<input type=search class="form-control td-search-input" placeholder=" Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.2b0c36478a8660f3dec37e0c539508bc.json data-offline-search-base-href=/ data-offline-search-max-results=10>
|
||||
<input type=search class="form-control td-search-input" placeholder=" Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.446cc05ee9bff165bd123d203082adb7.json data-offline-search-base-href=/ data-offline-search-max-results=10>
|
||||
<button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type=button data-toggle=collapse data-target=#td-section-nav aria-controls=td-docs-nav aria-expanded=false aria-label="Toggle section navigation">
|
||||
</button>
|
||||
</form>
|
||||
|
|
@ -514,7 +514,6 @@ Like in this example, we have an interface, to implement different ways for gett
|
|||
<li><a href=#description>Description</a></li>
|
||||
<li><a href=#benefits>Benefits</a></li>
|
||||
<li><a href=#when-not-to-use>When not to use</a></li>
|
||||
<li><a href=#discussions>Discussions</a></li>
|
||||
</ul>
|
||||
</nav></div>
|
||||
<div class="taxonomy taxonomy-terms-cloud taxo-tags">
|
||||
|
|
@ -647,10 +646,8 @@ When a new implementation is created, we need to make sure that these events are
|
|||
<p>The naming convention (both starting with “IScale”) also makes it very easy to find that corresponding events for the interface.</p>
|
||||
<h2 id=when-not-to-use>When not to use</h2>
|
||||
<p>Obviously, the events should be carefully considered: only the events that make sense to “share” over all implementations, need this approach.</p>
|
||||
<h2 id=discussions>Discussions</h2>
|
||||
<p>You can discuss this pattern <a href=https://github.com/microsoft/alguidelines/discussions/66>here</a></p>
|
||||
<div class="text-muted mt-5 pt-3 border-top">
|
||||
Last modified February 24, 2022: <a href=https://github.com/microsoft/alguidelines/commit/5ee0436639455a35835c5ce88241d3fad662ee06>Added tags & categories + cleanup (5ee04366)</a>
|
||||
Last modified February 24, 2022: <a href=https://github.com/microsoft/alguidelines/commit/fb17dc9640ceef53d1f3b8bbf9e9791ef92fabbc>Removed Discussion Links. Using new Theme solution. (fb17dc96)</a>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
|
|
|||
|
|
@ -24,13 +24,13 @@ Abstract The intent of this pattern is to provide a unified API to a single or a
|
|||
Decoupling Encapsulation Readability Testability Maintainability Context Whenever you want to write an isolated piece of business logic, from now on referred to as subsystem, this pattern should be applicable.">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://alguidelines.dev/docs/patterns/facade-pattern/"><meta property="og:image" content="https://alguidelines.dev/images/og-image-fission.png"><meta property="article:section" content="docs">
|
||||
<meta property="article:modified_time" content="2022-02-24T14:45:35+01:00"><meta property="og:site_name" content="alguidelines.dev - Business Central Design Patterns">
|
||||
<meta property="article:modified_time" content="2022-02-24T15:36:06-08:00"><meta property="og:site_name" content="alguidelines.dev - Business Central Design Patterns">
|
||||
<meta itemprop=name content="Façade">
|
||||
<meta itemprop=description content="Created by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (Gang of Four), Described by Jesper Schulz-Wedde (Microsoft)
|
||||
Abstract The intent of this pattern is to provide a unified API to a single or a collection of potentially complex subsystems. If you apply this pattern as a general pattern, you will ensure improved:
|
||||
Decoupling Encapsulation Readability Testability Maintainability Context Whenever you want to write an isolated piece of business logic, from now on referred to as subsystem, this pattern should be applicable.">
|
||||
<meta itemprop=dateModified content="2022-02-24T14:45:35+01:00">
|
||||
<meta itemprop=wordCount content="1328"><meta itemprop=image content="https://alguidelines.dev/images/og-image-fission.png">
|
||||
<meta itemprop=dateModified content="2022-02-24T15:36:06-08:00">
|
||||
<meta itemprop=wordCount content="1321"><meta itemprop=image content="https://alguidelines.dev/images/og-image-fission.png">
|
||||
<meta itemprop=keywords content="AL,Decoupling,Readability,Testability,Extendability,"><meta name=twitter:card content="summary_large_image">
|
||||
<meta name=twitter:image content="https://alguidelines.dev/images/og-image-fission.png">
|
||||
<meta name=twitter:title content="Façade">
|
||||
|
|
@ -66,7 +66,7 @@ Abstract The intent of this pattern is to provide a unified API to a single or a
|
|||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="navbar-nav d-none d-lg-block"><input type=search class="form-control td-search-input" placeholder=" Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.2b0c36478a8660f3dec37e0c539508bc.json data-offline-search-base-href=/ data-offline-search-max-results=10>
|
||||
<div class="navbar-nav d-none d-lg-block"><input type=search class="form-control td-search-input" placeholder=" Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.446cc05ee9bff165bd123d203082adb7.json data-offline-search-base-href=/ data-offline-search-max-results=10>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
|
@ -77,7 +77,7 @@ Abstract The intent of this pattern is to provide a unified API to a single or a
|
|||
<div id=td-sidebar-menu class=td-sidebar__inner>
|
||||
<div id=content-mobile>
|
||||
<form class="td-sidebar__search d-flex align-items-center">
|
||||
<input type=search class="form-control td-search-input" placeholder=" Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.2b0c36478a8660f3dec37e0c539508bc.json data-offline-search-base-href=/ data-offline-search-max-results=10>
|
||||
<input type=search class="form-control td-search-input" placeholder=" Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.446cc05ee9bff165bd123d203082adb7.json data-offline-search-base-href=/ data-offline-search-max-results=10>
|
||||
<button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type=button data-toggle=collapse data-target=#td-section-nav aria-controls=td-docs-nav aria-expanded=false aria-label="Toggle section navigation">
|
||||
</button>
|
||||
</form>
|
||||
|
|
@ -527,7 +527,6 @@ Abstract The intent of this pattern is to provide a unified API to a single or a
|
|||
<li><a href=#when-not-to-use>When not to use</a></li>
|
||||
<li><a href=#snippets>Snippets</a></li>
|
||||
<li><a href=#list-of-references>List of references</a></li>
|
||||
<li><a href=#discussions>Discussions</a></li>
|
||||
</ul>
|
||||
</nav></div>
|
||||
<div class="taxonomy taxonomy-terms-cloud taxo-tags">
|
||||
|
|
@ -716,10 +715,8 @@ In Business Central, all modules in the System Application are subsystems. Examp
|
|||
<p><a href=https://archive.org/details/designpatternsel00gamm/page/185>Design Patterns: Elements of Reusable Object-Oriented Software</a>. Addison Wesley. pp. 185ff. ISBN 0-201-63361-2.</p>
|
||||
<p>It is also a key pattern in the design of our system application modules, which is described here:</p>
|
||||
<p><a href=https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-blueprint>Module Architecture</a></p>
|
||||
<h2 id=discussions>Discussions</h2>
|
||||
<p>You can discuss this pattern <a href=https://github.com/microsoft/alguidelines/discussions/42>here</a></p>
|
||||
<div class="text-muted mt-5 pt-3 border-top">
|
||||
Last modified February 24, 2022: <a href=https://github.com/microsoft/alguidelines/commit/5ee0436639455a35835c5ce88241d3fad662ee06>Added tags & categories + cleanup (5ee04366)</a>
|
||||
Last modified February 24, 2022: <a href=https://github.com/microsoft/alguidelines/commit/fb17dc9640ceef53d1f3b8bbf9e9791ef92fabbc>Removed Discussion Links. Using new Theme solution. (fb17dc96)</a>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
|
|
|||
|
|
@ -24,13 +24,13 @@ Abstract The goal of this pattern is to facilitate a lot of things in one single
|
|||
Extensibility Decoupling Readability Testability Encapsulation Context Whenever you have to write an isolated piece of business logic, this pattern should be applicable.">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:url" content="https://alguidelines.dev/docs/patterns/generic-method-pattern/"><meta property="og:image" content="https://alguidelines.dev/images/og-image-fission.png"><meta property="article:section" content="docs">
|
||||
<meta property="article:modified_time" content="2022-02-24T14:45:35+01:00"><meta property="og:site_name" content="alguidelines.dev - Business Central Design Patterns">
|
||||
<meta property="article:modified_time" content="2022-02-24T15:36:06-08:00"><meta property="og:site_name" content="alguidelines.dev - Business Central Design Patterns">
|
||||
<meta itemprop=name content="Generic Method">
|
||||
<meta itemprop=description content="Created by Gary Winter (Cloud Ready Software), Described by waldo (iFacto Business Solutions | Dynex)
|
||||
Abstract The goal of this pattern is to facilitate a lot of things in one single awesome way of writing code. If you apply this pattern as a general pattern, you’ll implement:
|
||||
Extensibility Decoupling Readability Testability Encapsulation Context Whenever you have to write an isolated piece of business logic, this pattern should be applicable.">
|
||||
<meta itemprop=dateModified content="2022-02-24T14:45:35+01:00">
|
||||
<meta itemprop=wordCount content="1729"><meta itemprop=image content="https://alguidelines.dev/images/og-image-fission.png">
|
||||
<meta itemprop=dateModified content="2022-02-24T15:36:06-08:00">
|
||||
<meta itemprop=wordCount content="1722"><meta itemprop=image content="https://alguidelines.dev/images/og-image-fission.png">
|
||||
<meta itemprop=keywords content="AL,Decoupling,Readability,Testability,Extendability,"><meta name=twitter:card content="summary_large_image">
|
||||
<meta name=twitter:image content="https://alguidelines.dev/images/og-image-fission.png">
|
||||
<meta name=twitter:title content="Generic Method">
|
||||
|
|
@ -66,7 +66,7 @@ Abstract The goal of this pattern is to facilitate a lot of things in one single
|
|||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="navbar-nav d-none d-lg-block"><input type=search class="form-control td-search-input" placeholder=" Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.2b0c36478a8660f3dec37e0c539508bc.json data-offline-search-base-href=/ data-offline-search-max-results=10>
|
||||
<div class="navbar-nav d-none d-lg-block"><input type=search class="form-control td-search-input" placeholder=" Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.446cc05ee9bff165bd123d203082adb7.json data-offline-search-base-href=/ data-offline-search-max-results=10>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
|
@ -77,7 +77,7 @@ Abstract The goal of this pattern is to facilitate a lot of things in one single
|
|||
<div id=td-sidebar-menu class=td-sidebar__inner>
|
||||
<div id=content-mobile>
|
||||
<form class="td-sidebar__search d-flex align-items-center">
|
||||
<input type=search class="form-control td-search-input" placeholder=" Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.2b0c36478a8660f3dec37e0c539508bc.json data-offline-search-base-href=/ data-offline-search-max-results=10>
|
||||
<input type=search class="form-control td-search-input" placeholder=" Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.446cc05ee9bff165bd123d203082adb7.json data-offline-search-base-href=/ data-offline-search-max-results=10>
|
||||
<button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type=button data-toggle=collapse data-target=#td-section-nav aria-controls=td-docs-nav aria-expanded=false aria-label="Toggle section navigation">
|
||||
</button>
|
||||
</form>
|
||||
|
|
@ -527,7 +527,6 @@ Abstract The goal of this pattern is to facilitate a lot of things in one single
|
|||
<li><a href=#when-not-to-use>When not to use</a></li>
|
||||
<li><a href=#snippets>Snippets</a></li>
|
||||
<li><a href=#list-of-references>List of references</a></li>
|
||||
<li><a href=#discussions>Discussions</a></li>
|
||||
</ul>
|
||||
</nav></div>
|
||||
<div class="taxonomy taxonomy-terms-cloud taxo-tags">
|
||||
|
|
@ -852,10 +851,8 @@ And because of that, it so much more maintainable, upgradable, readable, .. . On
|
|||
<div style=position:relative;padding-bottom:56.25%;height:0;overflow:hidden>
|
||||
<iframe src=https://www.youtube.com/embed/CWpaD9RUa6U style=position:absolute;top:0;left:0;width:100%;height:100%;border:0 allowfullscreen title="YouTube Video"></iframe>
|
||||
</div>
|
||||
<h2 id=discussions>Discussions</h2>
|
||||
<p>You can discuss this pattern <a href=https://github.com/microsoft/alguidelines/discussions/41>here</a></p>
|
||||
<div class="text-muted mt-5 pt-3 border-top">
|
||||
Last modified February 24, 2022: <a href=https://github.com/microsoft/alguidelines/commit/5ee0436639455a35835c5ce88241d3fad662ee06>Added tags & categories + cleanup (5ee04366)</a>
|
||||
Last modified February 24, 2022: <a href=https://github.com/microsoft/alguidelines/commit/fb17dc9640ceef53d1f3b8bbf9e9791ef92fabbc>Removed Discussion Links. Using new Theme solution. (fb17dc96)</a>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@
|
|||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="navbar-nav d-none d-lg-block"><input type=search class="form-control td-search-input" placeholder=" Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.2b0c36478a8660f3dec37e0c539508bc.json data-offline-search-base-href=/ data-offline-search-max-results=10>
|
||||
<div class="navbar-nav d-none d-lg-block"><input type=search class="form-control td-search-input" placeholder=" Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.446cc05ee9bff165bd123d203082adb7.json data-offline-search-base-href=/ data-offline-search-max-results=10>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
|
@ -70,7 +70,7 @@
|
|||
<div id=td-sidebar-menu class=td-sidebar__inner>
|
||||
<div id=content-mobile>
|
||||
<form class="td-sidebar__search d-flex align-items-center">
|
||||
<input type=search class="form-control td-search-input" placeholder=" Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.2b0c36478a8660f3dec37e0c539508bc.json data-offline-search-base-href=/ data-offline-search-max-results=10>
|
||||
<input type=search class="form-control td-search-input" placeholder=" Search this site…" aria-label="Search this site…" autocomplete=off data-offline-search-index-json-src=/offline-search-index.446cc05ee9bff165bd123d203082adb7.json data-offline-search-base-href=/ data-offline-search-max-results=10>
|
||||
<button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type=button data-toggle=collapse data-target=#td-section-nav aria-controls=td-docs-nav aria-expanded=false aria-label="Toggle section navigation">
|
||||
</button>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -75,9 +75,7 @@ When a new implementation is created, we need to make sure that these events are
|
|||
<p>This new codeunit, with public events, makes the events accessible from all places, including new apps that are dependent from this app, and wants to extend the</p>
|
||||
<p>The naming convention (both starting with &ldquo;IScale&rdquo;) also makes it very easy to find that corresponding events for the interface.</p>
|
||||
<h2 id="when-not-to-use">When not to use</h2>
|
||||
<p>Obviously, the events should be carefully considered: only the events that make sense to &ldquo;share&rdquo; over all implementations, need this approach.</p>
|
||||
<h2 id="discussions">Discussions</h2>
|
||||
<p>You can discuss this pattern <a href="https://github.com/microsoft/alguidelines/discussions/66">here</a></p></description></item><item><title>Docs: Façade</title><link>https://alguidelines.dev/docs/patterns/facade-pattern/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/patterns/facade-pattern/</guid><description>
|
||||
<p>Obviously, the events should be carefully considered: only the events that make sense to &ldquo;share&rdquo; over all implementations, need this approach.</p></description></item><item><title>Docs: Façade</title><link>https://alguidelines.dev/docs/patterns/facade-pattern/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/patterns/facade-pattern/</guid><description>
|
||||
<p><em>Created by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (Gang of Four), Described by Jesper Schulz-Wedde (Microsoft)</em></p>
|
||||
<h2 id="abstract">Abstract</h2>
|
||||
<p>The intent of this pattern is to provide a unified API to a single or a collection of potentially complex subsystems. If you apply this pattern as a general pattern, you will ensure improved:</p>
|
||||
|
|
@ -208,9 +206,7 @@ In Business Central, all modules in the System Application are subsystems. Examp
|
|||
<p>This is one of the most commonly used and discussed, initially described here:</p>
|
||||
<p><a href="https://archive.org/details/designpatternsel00gamm/page/185">Design Patterns: Elements of Reusable Object-Oriented Software</a>. Addison Wesley. pp. 185ff. ISBN 0-201-63361-2.</p>
|
||||
<p>It is also a key pattern in the design of our system application modules, which is described here:</p>
|
||||
<p><a href="https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-blueprint">Module Architecture</a></p>
|
||||
<h2 id="discussions">Discussions</h2>
|
||||
<p>You can discuss this pattern <a href="https://github.com/microsoft/alguidelines/discussions/42">here</a></p></description></item><item><title>Docs: Generic Method</title><link>https://alguidelines.dev/docs/patterns/generic-method-pattern/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/patterns/generic-method-pattern/</guid><description>
|
||||
<p><a href="https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-blueprint">Module Architecture</a></p></description></item><item><title>Docs: Generic Method</title><link>https://alguidelines.dev/docs/patterns/generic-method-pattern/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alguidelines.dev/docs/patterns/generic-method-pattern/</guid><description>
|
||||
<p><em>Created by Gary Winter (Cloud Ready Software), Described by waldo (iFacto Business Solutions | Dynex)</em></p>
|
||||
<h2 id="abstract">Abstract</h2>
|
||||
<p>The goal of this pattern is to facilitate a lot of things in one single awesome way of writing code. If you apply this pattern as a general pattern, you&rsquo;ll implement:</p>
|
||||
|
|
@ -477,6 +473,4 @@ And because of that, it so much more maintainable, upgradable, readable, .. . On
|
|||
<p>There have been a number of occasions where people have been sharing this pattern. Here is one:</p>
|
||||
<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
|
||||
<iframe src="https://www.youtube.com/embed/CWpaD9RUa6U" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allowfullscreen title="YouTube Video"></iframe>
|
||||
</div>
|
||||
<h2 id="discussions">Discussions</h2>
|
||||
<p>You can discuss this pattern <a href="https://github.com/microsoft/alguidelines/discussions/41">here</a></p></description></item></channel></rss>
|
||||
</div></description></item></channel></rss>
|
||||
Loading…
Add table
Add a link
Reference in a new issue