Skip to main content

Command Palette

Search for a command to run...

๐Ÿš€ ๐——๐—ฒ๐˜€๐—ถ๐—ด๐—ป๐—ถ๐—ป๐—ด ๐— ๐˜† ๐—ก๐—ฒ๐˜„ ๐—ฃ๐—ฒ๐—ฟ๐˜€๐—ผ๐—ป๐—ฎ๐—น ๐—ฃ๐—ฟ๐—ผ๐—ท๐—ฒ๐—ฐ๐˜ โ€“ ๐—๐—ผ๐—ฏ ๐—”๐—ฝ๐—ฝ๐—น๐—ถ๐—ฐ๐—ฎ๐˜๐—ถ๐—ผ๐—ป ๐—ง๐—ฟ๐—ฎ๐—ฐ๐—ธ๐—ฒ๐—ฟ with ๐—–๐—น๐—ฒ๐—ฎ๐—ป ๐—”๐—ฟ๐—ฐ๐—ต๐—ถ๐˜๐—ฒ๐—ฐ๐˜

Published
โ€ข1 min readโ€ขView as Markdown

In my latest personal project, I'm building a ๐—๐—ผ๐—ฏ ๐—”๐—ฝ๐—ฝ๐—น๐—ถ๐—ฐ๐—ฎ๐˜๐—ถ๐—ผ๐—ป ๐—ง๐—ฟ๐—ฎ๐—ฐ๐—ธ๐—ฒ๐—ฟ using ๐—”๐—ฆ๐—ฃ.๐—ก๐—˜๐—ง ๐—–๐—ผ๐—ฟ๐—ฒ following the ๐—–๐—น๐—ฒ๐—ฎ๐—ป ๐—”๐—ฟ๐—ฐ๐—ต๐—ถ๐˜๐—ฒ๐—ฐ๐˜๐˜‚๐—ฟ๐—ฒ and ๐— ๐—ผ๐—ฑ๐˜‚๐—น๐—ฎ๐—ฟ ๐—ฆ๐˜๐—ฟ๐˜‚๐—ฐ๐˜๐˜‚๐—ฟ๐—ฒ principles. This structure brings clarity, flexibility, and long-term maintainability to the project.

โœ… ๐—ช๐—ต๐—ฎ๐˜ ๐—ถ๐˜€ ๐—–๐—น๐—ฒ๐—ฎ๐—ป ๐—”๐—ฟ๐—ฐ๐—ต๐—ถ๐˜๐—ฒ๐—ฐ๐˜๐˜‚๐—ฟ๐—ฒ?
Clean Architecture separates concerns by organizing code into distinct layers:

๐Ÿ”น ๐——๐—ผ๐—บ๐—ฎ๐—ถ๐—ป ๐—Ÿ๐—ฎ๐˜†๐—ฒ๐—ฟ โ€“ Business rules and entities
๐Ÿ”น ๐—”๐—ฝ๐—ฝ๐—น๐—ถ๐—ฐ๐—ฎ๐˜๐—ถ๐—ผ๐—ป ๐—Ÿ๐—ฎ๐˜†๐—ฒ๐—ฟ โ€“ Interfaces, use cases, and service contracts
๐Ÿ”น ๐—œ๐—ป๐—ณ๐—ฟ๐—ฎ๐˜€๐˜๐—ฟ๐˜‚๐—ฐ๐˜๐˜‚๐—ฟ๐—ฒ ๐—Ÿ๐—ฎ๐˜†๐—ฒ๐—ฟ โ€“ External concerns like databases, file systems, etc.
๐Ÿ”น ๐—ช๐—ฒ๐—ฏ/๐—จ๐—œ ๐—Ÿ๐—ฎ๐˜†๐—ฒ๐—ฟ โ€“ APIs or Views that interact with users

โœ… ๐—ช๐—ต๐—ฎ๐˜ ๐—ถ๐˜€ ๐— ๐—ผ๐—ฑ๐˜‚๐—น๐—ฎ๐—ฟ ๐—ฆ๐˜๐—ฟ๐˜‚๐—ฐ๐˜๐˜‚๐—ฟ๐—ฒ?
Each ๐—ณ๐—ฒ๐—ฎ๐˜๐˜‚๐—ฟ๐—ฒ ๐—ผ๐—ฟ ๐—บ๐—ผ๐—ฑ๐˜‚๐—น๐—ฒ (e.g., Resume Upload, Referral Info, FollowUps) is designed as a ๐˜€๐—ฒ๐—น๐—ณ-๐—ฐ๐—ผ๐—ป๐˜๐—ฎ๐—ถ๐—ป๐—ฒ๐—ฑ ๐˜‚๐—ป๐—ถ๐˜. This helps in:
๐Ÿ“ฆ Faster onboarding
๐Ÿ“ Easy testing and maintenance
๐Ÿ”„ Better scalability and reusability

โœจ ๐—”๐—ฑ๐˜ƒ๐—ฎ๐—ป๐˜๐—ฎ๐—ด๐—ฒ๐˜€ ๐—ถ๐—ป ๐˜๐—ต๐—ฒ ๐—๐—ผ๐—ฏ ๐—”๐—ฝ๐—ฝ๐—น๐—ถ๐—ฐ๐—ฎ๐˜๐—ถ๐—ผ๐—ป ๐—ง๐—ฟ๐—ฎ๐—ฐ๐—ธ๐—ฒ๐—ฟ ๐—ฝ๐—ฟ๐—ผ๐—ท๐—ฒ๐—ฐ๐˜

  • Easy to test Resume Upload logic without worrying about UI

  • ReferralInfo and FollowUp modules are isolated and independently manageable

  • Cleaner project structure with responsibility clearly separated

  • Easier to extend with new features like Email Reminders, PDF Export, etc.

๐—”๐—ฟ๐—ฒ ๐˜†๐—ผ๐˜‚ ๐˜‚๐˜€๐—ถ๐—ป๐—ด ๐—–๐—น๐—ฒ๐—ฎ๐—ป ๐—”๐—ฟ๐—ฐ๐—ต๐—ถ๐˜๐—ฒ๐—ฐ๐˜๐˜‚๐—ฟ๐—ฒ ๐—ผ๐—ฟ ๐— ๐—ผ๐—ฑ๐˜‚๐—น๐—ฎ๐—ฟ ๐—ฆ๐˜๐—ฟ๐˜‚๐—ฐ๐˜๐˜‚๐—ฟ๐—ฒ ๐—ถ๐—ป ๐˜†๐—ผ๐˜‚๐—ฟ ๐—ฝ๐—ฟ๐—ผ๐—ท๐—ฒ๐—ฐ๐˜๐˜€? ๐—ช๐—ต๐—ฎ๐˜ ๐—ฏ๐—ฒ๐—ป๐—ฒ๐—ณ๐—ถ๐˜๐˜€ (๐—ผ๐—ฟ ๐—ฐ๐—ต๐—ฎ๐—น๐—น๐—ฒ๐—ป๐—ด๐—ฒ๐˜€) ๐—ต๐—ฎ๐˜ƒ๐—ฒ ๐˜†๐—ผ๐˜‚ ๐—ณ๐—ฎ๐—ฐ๐—ฒ๐—ฑ?

More from this blog

๐—ฃ๐—ฎ๐˜€๐˜€๐˜„๐—ผ๐—ฟ๐—ฑ๐—น๐—ฒ๐˜€๐˜€ ๐—”๐˜‚๐˜๐—ต๐—ฒ๐—ป๐˜๐—ถ๐—ฐ๐—ฎ๐˜๐—ถ๐—ผ๐—ป ๐—ฅ๐—ฒ๐˜ƒ๐—ผ๐—น๐˜‚๐˜๐—ถ๐—ผ๐—ป

Passwords are the weakest link โ€” and .NET 10 just made it easier to remove them. With built-in support for passkeys and WebAuthn, you can authenticate users securely without storing a single password. .NET 10 introduces native passwordless authentica...

Nov 4, 20251 min read

.๐—ก๐—˜๐—ง ๐Ÿญ๐Ÿฌ ๐— ๐—ฎ๐—ธ๐—ฒ๐˜€ ๐—Ÿ๐—˜๐—™๐—ง & ๐—ฅ๐—œ๐—š๐—›๐—ง ๐—๐—ผ๐—ถ๐—ป๐˜€ ๐—˜๐—ฎ๐˜€๐—ถ๐—ฒ๐—ฟ ๐—ง๐—ต๐—ฎ๐—ป ๐—˜๐˜ƒ๐—ฒ๐—ฟ!

If youโ€™ve ever struggled to write complex LEFT JOINs in LINQ, youโ€™ll love whatโ€™s coming in .NET 10. No more juggling SelectMany, GroupJoin, and DefaultIfEmpty โ€” Microsoft just made it clean, readable, and developer-friendly! In .NET 10, LINQ gets fir...

Nov 1, 20251 min read

๐Ÿ”ฅ .๐—ก๐—˜๐—ง ๐—™๐—ฟ๐—ฎ๐—บ๐—ฒ๐˜„๐—ผ๐—ฟ๐—ธ ๐˜ƒ๐˜€ .๐—ก๐—˜๐—ง ๐—–๐—ผ๐—ฟ๐—ฒ โ€” ๐—ž๐—ฒ๐˜† ๐——๐—ถ๐—ณ๐—ณ๐—ฒ๐—ฟ๐—ฒ๐—ป๐—ฐ๐—ฒ๐˜€ ๐—˜๐˜…๐—ฝ๐—น๐—ฎ๐—ถ๐—ป๐—ฒ๐—ฑ

If youโ€™re preparing for a .NET developer interview, this is one question you canโ€™t afford to miss! Letโ€™s break down the core differences that every developer should know ๐Ÿ‘‡ 1๏ธโƒฃ Platform Support โ€“ .NET Framework works only on Windows, while .NET Core ...

Oct 30, 20252 min read

๐—˜๐—ฎ๐—ด๐—ฒ๐—ฟ ๐˜ƒ๐˜€ ๐—Ÿ๐—ฎ๐˜‡๐˜† ๐—Ÿ๐—ผ๐—ฎ๐—ฑ๐—ถ๐—ป๐—ด

In ๐—˜๐—ป๐˜๐—ถ๐˜๐˜† ๐—™๐—ฟ๐—ฎ๐—บ๐—ฒ๐˜„๐—ผ๐—ฟ๐—ธ ๐—–๐—ผ๐—ฟ๐—ฒ, how and when related data is fetched matters โ€” thatโ€™s where ๐—˜๐—ฎ๐—ด๐—ฒ๐—ฟ ๐—Ÿ๐—ผ๐—ฎ๐—ฑ๐—ถ๐—ป๐—ด and ๐—Ÿ๐—ฎ๐˜‡๐˜† ๐—Ÿ๐—ผ๐—ฎ๐—ฑ๐—ถ๐—ป๐—ด come in. ๐—˜๐—ฎ๐—ด๐—ฒ๐—ฟ ๐—Ÿ๐—ผ๐—ฎ๐—ฑ๐—ถ๐—ป๐—ด means related data is loaded immediately with the main e...

Oct 29, 20251 min read

Visual Studio Updates

89 posts