---
title: "Discussion on \"Interface with one implementation?\nGive delegate a try!\" | Hashnode"
description: "Discussion on \"Interface with one implementation?\nGive delegate a try!\". Interfaces with only one method and one implementation always seem awkward to me. I felt it in my gut but wasn't able to articulate what's exactly wrong with them. Luckily, recently someone showed me another way of solving this issue.\nFake abstractio..."
url: "https://hashnode.com/posts/interface-with-one-implementation-give-delegate-a-try/5f6f91fe5fd46b6601bbf96c"
---

[Feed](https://hashnode.com/feed) /

Discussion

# [Interface with one implementation? Give delegate a try!](https://blog.ciechowski.net/interface-with-one-implementation-give-delegate-a-try?utm_source=hashnode&utm_medium=feed)

Interfaces with only one method and one implementation always seem awkward to me. I felt it in my gut but wasn't able to articulate what's exactly wrong with them. Luckily, recently someone showed me another way of solving this issue. Fake abstractio...

Sep 26, 2020 · 4 min read · blog.ciechowski.net  
Updated Dec 7, 2020  
Read the article

-   [#csharp](https://hashnode.com/tag/csharp)
-   [#net](https://hashnode.com/tag/net)
-   [#functional-programming](https://hashnode.com/tag/functional-programming)

## Written by

[Kuba Ciechowski](https://hashnode.com/@kciechowski)

@kciechowski · Gdańsk, Poland

  
[View profile](https://hashnode.com/@kciechowski)

soft skilled developer

## Responses 1

Markdown supported · ⌘↵ to post

[Daniele Maccari](https://hashnode.com/@macco3k)

[Feb 19, 2023](https://hashnode.com/posts/interface-with-one-implementation-give-delegate-a-try/5f6f91fe5fd46b6601bbf96c/comment/63f29a789a615a95ce2edc61)

Now this is an interesting approach. However, I wonder what would happen if you had some interface which is actually meant to represent a set of cohesive facets of behaviour, i.e. a role proper. Would you consider that a proper abstraction? I also fail to see exactly how you would inject all those delegates into your high level component/use case/service/whatever. Would that not pollute it? Of course, that might be pointing to refactoring some these deps out into their own service. But then you're back at the beginning, ain't you?
