﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Ayende @ Rahien</title><link>http://ayende.com</link><description>Ayende @ Rahien</description><copyright>Copyright (C) Ayende Rahien  2004 - 2021 (c) 2026</copyright><ttl>60</ttl><item><title>Daniel Martin commented on Limiting your abstractions: Reflections on the Interface Segregation Principle</title><description>Hopefully with angle brackets:

I do not see how you disagree with the second definition. You do have many client specific interfaces: IHappenOn&amp;gt;Cargo&amp;lt; &amp; IHappenOn&amp;gt;HandlingEvent&amp;lt;!
You just used an "type macro"/"type abstraction" to make them uniform and easier to understand.
IApplicationEvents is a general purpose interface, while IHappenOn&amp;gt;Cargo&amp;lt; is a role interface. IHappenOn&amp;gt;T&amp;lt; is just an abstraction of the roles.
</description><link>http://ayende.com/153985/limiting-your-abstractions-reflections-on-the-interface-segregation-principle#comment5</link><guid>http://ayende.com/153985/limiting-your-abstractions-reflections-on-the-interface-segregation-principle#comment5</guid><pubDate>Fri, 17 Feb 2012 11:13:54 GMT</pubDate></item><item><title>Daniel Martin commented on Limiting your abstractions: Reflections on the Interface Segregation Principle</title><description>I do not see how you disagree with the second definition. You do have many client specific interfaces: IHappenOn&lt;Cargo&gt; &amp; IHappenOn&lt;HandlingEvent&gt;!
You just used an "type macro"/"type abstractio" to make them uniform and easier to understand.
IApplicationEvents is a general purpose interface, while IHappenOn&lt;Cargo&gt; is a role interface. IHappenOn&lt;T&gt; is just an abstraction of the roles.
</description><link>http://ayende.com/153985/limiting-your-abstractions-reflections-on-the-interface-segregation-principle#comment4</link><guid>http://ayende.com/153985/limiting-your-abstractions-reflections-on-the-interface-segregation-principle#comment4</guid><pubDate>Fri, 17 Feb 2012 11:12:17 GMT</pubDate></item><item><title>Neil Mosafi commented on Limiting your abstractions: Reflections on the Interface Segregation Principle</title><description>I generally agree.  Had this argument before during code reviews, the reviewer argued that generic interfaces made the code much harder to navigate with things like Go To Definition / Inheritor. He had a point, but I'm still not convinced.</description><link>http://ayende.com/153985/limiting-your-abstractions-reflections-on-the-interface-segregation-principle#comment3</link><guid>http://ayende.com/153985/limiting-your-abstractions-reflections-on-the-interface-segregation-principle#comment3</guid><pubDate>Mon, 13 Feb 2012 13:45:43 GMT</pubDate></item><item><title>njy commented on Limiting your abstractions: Reflections on the Interface Segregation Principle</title><description>Sorry, 2 days</description><link>http://ayende.com/153985/limiting-your-abstractions-reflections-on-the-interface-segregation-principle#comment2</link><guid>http://ayende.com/153985/limiting-your-abstractions-reflections-on-the-interface-segregation-principle#comment2</guid><pubDate>Thu, 09 Feb 2012 23:29:33 GMT</pubDate></item><item><title>njy commented on Limiting your abstractions: Reflections on the Interface Segregation Principle</title><description>No comments postable on this post? It's like 3 days it *seems* to accept comments, but they never show up :-\</description><link>http://ayende.com/153985/limiting-your-abstractions-reflections-on-the-interface-segregation-principle#comment1</link><guid>http://ayende.com/153985/limiting-your-abstractions-reflections-on-the-interface-segregation-principle#comment1</guid><pubDate>Thu, 09 Feb 2012 23:28:28 GMT</pubDate></item></channel></rss>