Master the Design of Classes (Part 2)

Published: 22 June 2024
on channel: Zoran Horvat
3,803
137

Watch the long video:    • Master the Design of Classes  

Marker interfaces are generally considered a bad design in C#.
You will often hear that it is better to mark a class with a custom attribute than to tag it with a marker interface.
That is generally good advice, except when it is not.
In this domain, I want to constrain the legal repository types.
The repository of books is legal.
The repository of book releases is not because a release cannot exist without the book.
How shall we go around it?
Watch the full video for details about designing this domain model.
Regarding repositories, an effective design is to constrain them only to accept entity types marked as aggregate roots.
The book is the aggregate root, and so it is allowed.
The book release is a weak object, so its repository will not compile.
You cannot accomplish this with a custom attribute in C#.
Attributes cannot constrain generic types.

Become a sponsor to access source code ►   / zoranhorvat  
Join Discord server with topics on C# ► https://codinghelmet.com/go/discord
Enroll course Beginning Object-Oriented Programming with C# ► https://codinghelmet.com/go/beginning...
Subscribe ►    / @zoran-horvat  
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
👨 About Me 👨
Hi, I’m Zoran, I have more than 20 years of experience as a software developer, architect, team lead, and more. I have been programming in C# since its inception in the early 2000s. Since 2017 I have started publishing professional video courses at Pluralsight and Udemy and by this point, there are over 100 hours of the highest-quality videos you can watch on those platforms. On my YouTube channel, you can find shorter video forms focused on clarifying practical issues in coding, design, and architecture of .NET applications.❤️
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
⚡️COPYRIGHT NOTICE:
The Copyright Laws of the United States recognize a “fair use” of copyrighted content. Section 107 of the U.S. Copyright Act states: “Notwithstanding the provisions of sections 106 and 106A, the fair use of a copyrighted work, including such use by reproduction in copies or phono records or by any other means specified by that section, for purposes such as criticism, comment, news reporting, teaching (including multiple copies for classroom use), scholarship, or research, is not an infringement of copyright." This video and our youtube channel, in general, may contain certain copyrighted works that were not specifically authorized to be used by the copyright holder(s), but which we believe in good faith are protected by federal law and the Fair use doctrine for one or more of the reasons noted above.


Watch video Master the Design of Classes (Part 2) online without registration, duration hours minute second in high quality. This video was added by user Zoran Horvat 22 June 2024, don't forget to share it with your friends and acquaintances, it has been viewed on our site 3,80 once and liked it 13 people.