﻿<?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>hammerip commented on Limit your abstractions: You only get six to a dozen in the entire app</title><description>Sorry, badly worded. I mean if you need to use strategy pattern, e.g. ICargoRouteCalculator</description><link>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment18</link><guid>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment18</guid><pubDate>Fri, 17 Feb 2012 12:21:46 GMT</pubDate></item><item><title>Ayende Rahien commented on Limit your abstractions: You only get six to a dozen in the entire app</title><description>hammerip ,
I am not sure that I am following the question</description><link>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment17</link><guid>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment17</guid><pubDate>Fri, 17 Feb 2012 12:08:50 GMT</pubDate></item><item><title>hammerip commented on Limit your abstractions: You only get six to a dozen in the entire app</title><description>I presume you are happy to allow additional abstractions for strategies identified within the system?</description><link>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment16</link><guid>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment16</guid><pubDate>Fri, 17 Feb 2012 11:54:01 GMT</pubDate></item><item><title>Ayende Rahien commented on Limit your abstractions: You only get six to a dozen in the entire app</title><description>Andrey,
I wouldn't :-)
I am discussing this in detail in a future post.</description><link>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment15</link><guid>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment15</guid><pubDate>Wed, 15 Feb 2012 09:40:15 GMT</pubDate></item><item><title>Andrey Shchekin commented on Limit your abstractions: You only get six to a dozen in the entire app</title><description>How would you actually create commands though (in a system that uses dependency injection)?</description><link>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment14</link><guid>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment14</guid><pubDate>Tue, 14 Feb 2012 22:35:03 GMT</pubDate></item><item><title>Ayende Rahien commented on Limit your abstractions: You only get six to a dozen in the entire app</title><description>Daniel,
Yes, you are doing it wrong :-)
You don't need all of that for testing, I am actually going to touch testing specifically in a later post</description><link>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment13</link><guid>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment13</guid><pubDate>Tue, 14 Feb 2012 13:34:07 GMT</pubDate></item><item><title>Daniel Lang commented on Limit your abstractions: You only get six to a dozen in the entire app</title><description>Oren, I totally agree with except for the testing thing. I often find myself introducing abstractions and interfaces just for testing purposes, so that I can stub and mock them out in my tests.

What does that mean? Do I structure my code the wrong way? I'm absolutely sure that I don't generally test _too_ much, so I guess I probably test the wrong things or have my code layed out wrong.</description><link>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment12</link><guid>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment12</guid><pubDate>Tue, 14 Feb 2012 13:18:09 GMT</pubDate></item><item><title>Ayende Rahien commented on Limit your abstractions: You only get six to a dozen in the entire app</title><description>Betty,
No, they are all infrastructure. If you have _many_ of them, that indicates a problem with either bad infrastructure or wrong headed use of it.</description><link>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment11</link><guid>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment11</guid><pubDate>Tue, 14 Feb 2012 07:35:48 GMT</pubDate></item><item><title>Betty commented on Limit your abstractions: You only get six to a dozen in the entire app</title><description>Given a standard ASP.NET MVC website would you consider *Custom* ActionFilters, ActionResults, HtmlHelpers, ModelBinders, Validators, Route Constraints etc in your list of abstractions or are they just infrastructure?  If they are just infrastructure how are they different from most the things you listed?</description><link>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment10</link><guid>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment10</guid><pubDate>Tue, 14 Feb 2012 03:45:55 GMT</pubDate></item><item><title>afif commented on Limit your abstractions: You only get six to a dozen in the entire app</title><description>I second Chris Wright. Can you please clarify Oren!</description><link>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment9</link><guid>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment9</guid><pubDate>Mon, 13 Feb 2012 23:46:37 GMT</pubDate></item><item><title>Chris Wright commented on Limit your abstractions: You only get six to a dozen in the entire app</title><description>It's a tad ambiguous whether you mean to say "I don't like this approach that I just outlined with the Command base class and various implementations; and I'll discuss why in my next post", or "I don't like the approach that the sample application took; and I'll discuss in further detail why I dislike this approach in my next post".</description><link>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment8</link><guid>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment8</guid><pubDate>Mon, 13 Feb 2012 22:23:33 GMT</pubDate></item><item><title>Dan Vanderboom commented on Limit your abstractions: You only get six to a dozen in the entire app</title><description>I agree with the general premise. Having a small number of the right kind of abstractions is important for maintaining the coherence of code organization. 

Events provide endpoints for reactive code to attach Tasks or Commands as responses. 

You refer to SL/WPF-style Commands, but what do you mean by Tasks? TPL Tasks?

Commands packaged as separate classes are often too granular, but delegate commands are possible as well. I also occasionally invoke remote commands on a server in the same way I invoke queries. 

What drives me nuts is the inconsistency of seeing XyzService alongside AbcManager, etc. </description><link>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment7</link><guid>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment7</guid><pubDate>Mon, 13 Feb 2012 14:36:06 GMT</pubDate></item><item><title>Ayende Rahien commented on Limit your abstractions: You only get six to a dozen in the entire app</title><description>Khalid,
No, those aren't your own things, they belong to the infrastructure.</description><link>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment6</link><guid>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment6</guid><pubDate>Mon, 13 Feb 2012 14:33:14 GMT</pubDate></item><item><title>cbp commented on Limit your abstractions: You only get six to a dozen in the entire app</title><description>Nice one. I think this post will be a game changer for a lot of people.</description><link>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment5</link><guid>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment5</guid><pubDate>Mon, 13 Feb 2012 13:53:55 GMT</pubDate></item><item><title>Khalid Abuhakmeh commented on Limit your abstractions: You only get six to a dozen in the entire app</title><description>Would you qualify any use of an interface as an abstraction that goes against your six to twelve count?

For example, if I use IDocumentSession or IQueryable instead of the concrete implementation in my code, did I just use one up? Or is it more about creating wrapper classes for encapsulating logic?</description><link>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment4</link><guid>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment4</guid><pubDate>Mon, 13 Feb 2012 13:09:58 GMT</pubDate></item><item><title>Omer Mor commented on Limit your abstractions: You only get six to a dozen in the entire app</title><description>You're absolutely right.
IBookingService is a terrible interface.
It should have been called IBookingManager !
:-)</description><link>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment3</link><guid>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment3</guid><pubDate>Mon, 13 Feb 2012 11:35:13 GMT</pubDate></item><item><title>Ayende Rahien commented on Limit your abstractions: You only get six to a dozen in the entire app</title><description>Omer, yes, fixed
</description><link>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment2</link><guid>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment2</guid><pubDate>Mon, 13 Feb 2012 11:17:20 GMT</pubDate></item><item><title>Omer Katz commented on Limit your abstractions: You only get six to a dozen in the entire app</title><description>"In most applications, I like to have a very small number of abstractions. Usually in the order of half a dozen to a dozen (top!). I usually thing about them like this:"
You meant think and not thing.</description><link>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment1</link><guid>http://ayende.com/154081/limit-your-abstractions-you-only-get-six-to-a-dozen-in-the-entire-app#comment1</guid><pubDate>Mon, 13 Feb 2012 10:20:04 GMT</pubDate></item></channel></rss>