<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>
	Comments on: Using the Adapter Pattern in Angular Apps for Easier Maintenance	</title>
	<atom:link href="https://christianlydemann.com/using-the-adapter-pattern-in-angular-apps-for-easier-maintenance/feed/" rel="self" type="application/rss+xml" />
	<link>https://christianlydemann.com/using-the-adapter-pattern-in-angular-apps-for-easier-maintenance/</link>
	<description>Advanced Angular Training Made Simple</description>
	<lastBuildDate>Tue, 21 Sep 2021 03:53:00 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.4</generator>
	<item>
		<title>
		By: Arthur Fedotiew		</title>
		<link>https://christianlydemann.com/using-the-adapter-pattern-in-angular-apps-for-easier-maintenance/#comment-117615</link>

		<dc:creator><![CDATA[Arthur Fedotiew]]></dc:creator>
		<pubDate>Tue, 21 Sep 2021 03:53:00 +0000</pubDate>
		<guid isPermaLink="false">https://christianlydemann.com/?p=648#comment-117615</guid>

					<description><![CDATA[Thanks for an interesting articel. Though, i&#039;ve got some questions:
1. Seems that SquareButtonComponent template with its switchcase is gonna be duplicated each time when we need to create new shpae of buttons, violationg DRY principle? I.e. we need CircleButtonComponent, then we;d have to duplicate this template with all switch cases? 
2. Doesn&#039;t injecting SquareButtonComponent into Primary and secondary buttons create tight coupling between PrimaryButtonComponent and SquareButtonComponent violation open-closed? Doens&#039;t it prevent PrimaryButtonComponent from being able to be used with any other &quot;any-shape&quot;ButtonComponent? Couldn&#039;t we just inject ChildButtonComponent, and provide it in &quot;any-shape&quot;ButtonComponent like this 
&lt;code&gt;{ provide: ChildButtonComponent, useExisting: forwardRef(() =&#062; &quot;any-shape&quot;ButtonComponent) }&lt;/code&gt;
 instead?]]></description>
			<content:encoded><![CDATA[<p>Thanks for an interesting articel. Though, i&#8217;ve got some questions:<br />
1. Seems that SquareButtonComponent template with its switchcase is gonna be duplicated each time when we need to create new shpae of buttons, violationg DRY principle? I.e. we need CircleButtonComponent, then we;d have to duplicate this template with all switch cases?<br />
2. Doesn&#8217;t injecting SquareButtonComponent into Primary and secondary buttons create tight coupling between PrimaryButtonComponent and SquareButtonComponent violation open-closed? Doens&#8217;t it prevent PrimaryButtonComponent from being able to be used with any other &#8220;any-shape&#8221;ButtonComponent? Couldn&#8217;t we just inject ChildButtonComponent, and provide it in &#8220;any-shape&#8221;ButtonComponent like this<br />
<code>{ provide: ChildButtonComponent, useExisting: forwardRef(() =&gt; "any-shape"ButtonComponent) }</code><br />
 instead?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: mickdelaney		</title>
		<link>https://christianlydemann.com/using-the-adapter-pattern-in-angular-apps-for-easier-maintenance/#comment-37897</link>

		<dc:creator><![CDATA[mickdelaney]]></dc:creator>
		<pubDate>Tue, 10 Mar 2020 08:56:00 +0000</pubDate>
		<guid isPermaLink="false">https://christianlydemann.com/?p=648#comment-37897</guid>

					<description><![CDATA[Have you looked at ngx-formly for abstracting forms ?]]></description>
			<content:encoded><![CDATA[<p>Have you looked at ngx-formly for abstracting forms ?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Form validation with ControlValueAccessor – Christian Lüdemann		</title>
		<link>https://christianlydemann.com/using-the-adapter-pattern-in-angular-apps-for-easier-maintenance/#comment-28939</link>

		<dc:creator><![CDATA[Form validation with ControlValueAccessor – Christian Lüdemann]]></dc:creator>
		<pubDate>Tue, 07 Jan 2020 17:00:44 +0000</pubDate>
		<guid isPermaLink="false">https://christianlydemann.com/?p=648#comment-28939</guid>

					<description><![CDATA[[&#8230;] we have UI components, that are using inputs, we normally want to hook it into the form handling so we can do form [&#8230;]]]></description>
			<content:encoded><![CDATA[<p>[&#8230;] we have UI components, that are using inputs, we normally want to hook it into the form handling so we can do form [&#8230;]</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Christian Lydemann		</title>
		<link>https://christianlydemann.com/using-the-adapter-pattern-in-angular-apps-for-easier-maintenance/#comment-28200</link>

		<dc:creator><![CDATA[Christian Lydemann]]></dc:creator>
		<pubDate>Thu, 02 Jan 2020 11:59:00 +0000</pubDate>
		<guid isPermaLink="false">https://christianlydemann.com/?p=648#comment-28200</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://christianlydemann.com/using-the-adapter-pattern-in-angular-apps-for-easier-maintenance/#comment-20865&quot;&gt;Cobus Kruger&lt;/a&gt;.

Yes, use ValueControlAccessor for integrating the ui adapter component in the form validation. I just added another section of the blog post explaining this :)]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://christianlydemann.com/using-the-adapter-pattern-in-angular-apps-for-easier-maintenance/#comment-20865">Cobus Kruger</a>.</p>
<p>Yes, use ValueControlAccessor for integrating the ui adapter component in the form validation. I just added another section of the blog post explaining this 🙂</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Cobus Kruger		</title>
		<link>https://christianlydemann.com/using-the-adapter-pattern-in-angular-apps-for-easier-maintenance/#comment-20865</link>

		<dc:creator><![CDATA[Cobus Kruger]]></dc:creator>
		<pubDate>Tue, 12 Nov 2019 09:30:00 +0000</pubDate>
		<guid isPermaLink="false">https://christianlydemann.com/?p=648#comment-20865</guid>

					<description><![CDATA[Cool article and definitely the way to go. Your example is of a simple case though - the button. I have done the same for other form controls as well (inputs, the third-party ng-select and so on), and implement ControlValueAccessor to integrate with reactive forms. This has worked well, except in ng-select, where setting that control&#039;s value raised an ExpressionChangedAfterItHasBeenCheckedError. Regardless of my error though, would you agree that&#039;s the way to approach wrapping third-party inputs?]]></description>
			<content:encoded><![CDATA[<p>Cool article and definitely the way to go. Your example is of a simple case though &#8211; the button. I have done the same for other form controls as well (inputs, the third-party ng-select and so on), and implement ControlValueAccessor to integrate with reactive forms. This has worked well, except in ng-select, where setting that control&#8217;s value raised an ExpressionChangedAfterItHasBeenCheckedError. Regardless of my error though, would you agree that&#8217;s the way to approach wrapping third-party inputs?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: The Ten Commandments of Angular Development – Christian Lüdemann		</title>
		<link>https://christianlydemann.com/using-the-adapter-pattern-in-angular-apps-for-easier-maintenance/#comment-19924</link>

		<dc:creator><![CDATA[The Ten Commandments of Angular Development – Christian Lüdemann]]></dc:creator>
		<pubDate>Tue, 05 Nov 2019 20:45:08 +0000</pubDate>
		<guid isPermaLink="false">https://christianlydemann.com/?p=648#comment-19924</guid>

					<description><![CDATA[[&#8230;] encapsulate the trivial UI components through adapter UI components instead of hard coupling the architecture into eg. Bootstrap. This is creating the building blocks [&#8230;]]]></description>
			<content:encoded><![CDATA[<p>[&#8230;] encapsulate the trivial UI components through adapter UI components instead of hard coupling the architecture into eg. Bootstrap. This is creating the building blocks [&#8230;]</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: The Three Building Blocks of Elite Angular Teams – Christian Lüdemann		</title>
		<link>https://christianlydemann.com/using-the-adapter-pattern-in-angular-apps-for-easier-maintenance/#comment-406</link>

		<dc:creator><![CDATA[The Three Building Blocks of Elite Angular Teams – Christian Lüdemann]]></dc:creator>
		<pubDate>Tue, 14 May 2019 19:19:57 +0000</pubDate>
		<guid isPermaLink="false">https://christianlydemann.com/?p=648#comment-406</guid>

					<description><![CDATA[[&#8230;] UI library which contains all the UI building blocks that are needed in the system and makes the development [&#8230;]]]></description>
			<content:encoded><![CDATA[<p>[&#8230;] UI library which contains all the UI building blocks that are needed in the system and makes the development [&#8230;]</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Implementing a Plugin Architecture with Angular and OpenLayers – Christian Lüdemann IT		</title>
		<link>https://christianlydemann.com/using-the-adapter-pattern-in-angular-apps-for-easier-maintenance/#comment-50</link>

		<dc:creator><![CDATA[Implementing a Plugin Architecture with Angular and OpenLayers – Christian Lüdemann IT]]></dc:creator>
		<pubDate>Sun, 21 Oct 2018 17:02:38 +0000</pubDate>
		<guid isPermaLink="false">https://christianlydemann.com/?p=648#comment-50</guid>

					<description><![CDATA[[&#8230;] important to care about the design of the app. I have previously written about how to apply the adapter pattern in Angular apps and how to refactor Angular apps, but this is a more general topic about a technique to scale the [&#8230;]]]></description>
			<content:encoded><![CDATA[<p>[&#8230;] important to care about the design of the app. I have previously written about how to apply the adapter pattern in Angular apps and how to refactor Angular apps, but this is a more general topic about a technique to scale the [&#8230;]</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/

Object Caching 0/1331 objects using Memcache
Page Caching using Disk: Enhanced 
Minified using Disk
Database Caching using Disk (Request-wide modification query)

Served from: christianlydemann.com @ 2026-02-26 07:26:39 by W3 Total Cache
-->