Skip to content

docs: add overview documentation for design patterns in C##51405

Closed
ivanPeshterskii wants to merge 7 commits intodotnet:mainfrom
ivanPeshterskii:main
Closed

docs: add overview documentation for design patterns in C##51405
ivanPeshterskii wants to merge 7 commits intodotnet:mainfrom
ivanPeshterskii:main

Conversation

@ivanPeshterskii
Copy link

@ivanPeshterskii ivanPeshterskii commented Jan 30, 2026

Add .md file for clarification about top -> design patterns (only important stuff).


Internal previews

📄 File 🔗 Preview link
docs/csharp/fundamentals/object-oriented/design-patterns.md Overview of design patterns in C#

@ivanPeshterskii ivanPeshterskii requested review from a team and BillWagner as code owners January 30, 2026 16:15
@dotnetrepoman dotnetrepoman bot added this to the January 2026 milestone Jan 30, 2026
@dotnet-policy-service dotnet-policy-service bot added dotnet-csharp/svc fundamentals/subsvc community-contribution Indicates PR is created by someone from the .NET community. labels Jan 30, 2026
@BillWagner
Copy link
Member

BillWagner commented Feb 2, 2026

Hi @ivanPeshterskii

I'm happy to work with you on the tasks to get this ready to merge.

Let's back up from the specifics of this PR and talk about the work you want to do as an overall project. I only gave this PR a brief look because I want to go over these items first before going into details. We prefer having these discussions before you put a lot of work into an article. See our Contributor guide for some details.

I like the idea of having an overview of OO design patterns in this section. However, this is ground that is well covered in many language agnostic sources. The Gang of Four Design Patterns book is the seminal work in this area. You've written a nice overview of some of their topics. You should cite their work in this article. Because this article doesn't suggest new patterns, but rather restates their work and provides C# examples, you should make that clear in the opening paragraphs.

You reference future articles that don't exist yet as the readers' next steps. We won't publish anything that's pointing at non-existent next steps. If you're interested in writing that much, let's start with issues that create an outline so we both agree on what you will and won't cover.

Overall, I'd like to make sure we agree on what's new for readers in this article, and what's providing background from other sources. If too much of the article is only restating background from other sources, it may not be a candidate for publishing here.

@ivanPeshterskii
Copy link
Author

Hi, thanks a lot for taking the time to share such detailed feedback — I really appreciate it.

I understand your points about scope and positioning, and I agree that this should be clarified before going further. My original intention was to write a high-level overview of the classic Gang of Four design patterns, specifically framed for C# developers and modern language features, not to introduce new patterns. I see now that this should be made more explicit in the introduction, along with proper references to the GoF work, and I’m happy to revise that.

I also understand the concern about referencing follow-up articles that don’t exist yet. I can remove or rework that section, or alternatively start with issues outlining possible next articles so we can align on scope first.

For a bit of context, I’m 16 and I got interested in C# largely because of its object-oriented foundations. This article comes from learning and revisiting OO principles and design patterns in practice, and trying to connect the classic ideas with how they’re used in modern C# today.

Before making further changes, I’d appreciate your guidance on what you’d see as the most valuable angle for readers here — whether focusing on C# context is sufficient, or if you’d prefer a narrower or different approach.

Thanks again, and I’m looking forward to continuing the discussion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

community-contribution Indicates PR is created by someone from the .NET community. dotnet-csharp/svc fundamentals/subsvc

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants