Code like a Pro in C#
کتاب Code like a Pro in C# (کد نویسی مانند یک حرفه ای در سی شارپ)، به شما نحوهی نوشتن کد سی شارپ تمیزی که برای توسعه برنامههای سازمانی مناسب باشد را آموزش میدهد. در این کتاب، شما یک مجموعه کد قدیمی را با بکارگیری تکنیکهای مدرن سی شارپ، ریفکتور میکنید. همچنین شما ابزار هایی مانند Entity Framework Core، تکنیکهای طراحی مانند تزریق وابستگی و روشهای کلیدی مانند تست کردن و کد تمیز را بررسی خواهید کرد. این کتاب، یک مسیر عالی برای ارتقای مهارتهای فعلی سی شارپ خودتان یا مهاجرت از یک زبان شی گرای دیگر به #C و اکو سیستم NET. را فراهم کرده است.
این کتاب، بر اساس مهارتهای فعلی برنامه نویسی شماست تا به شما در ارتقای مهارتهای کد نویسی خودتان یا مهاجرت از جاوا یا هر زبان شی گرای دیگری به سی شارپ کمک کند. شما نحوهی کد نویسی #C که برای توسعه سازمانی ضروری است را یاد خواهید گرفت. این کتاب، مهارتهای ضروری backend را مورد مبحث قرار میدهد و آنها را با یک چالش شغلی رایج عملی میکند: ریفکتور کردن یک مجموعه کد قدیمی به کدی امن، تمیز و خوانا. هنگامی که این کتاب را تمام کردید، درک سطح حرفه ای از سی شارپ خواهید داشت و برای شروع به کسب تخصص از طریق منابع سطح پیشرفته آماده خواهید بود.
در این کتاب، “Hello, World” یا اصول مقدماتی علوم کامپیوتر یاد داده نمیشود؛ بلکه با ریفکتور کردن یک کد قدیمی منسوخ شده برای مطابقت آن با استانداردهای C# مدرن، استفاده از تکنیک ها، ابزارها و بهترین شیوههای جدید را یاد خواهید گرفت. در طول این کتاب، ما یک codebase موجود (نوشته شده با NET Framework.) را برداشته و آن را به APIهای ساده شده با NET 5. ریفکتور میکنیم.
چه کسانی باید این کتاب را مطالعه کنند؟
اگر شما توسعه دهنده ای مسلط به یک زبان برنامه نویسی شی گرا هستید، میخواهد جاوا، دارت یا سی پلاس پلاس یا هر چیز دیگری باشد، این کتاب، میتواند به سرعت شما را در سی شارپ و دات نت راه بیندازند بدون اینکه از صفر شروع کنید. بسیاری از دانش شما قابل انتقال است، پس چرا باید نحوهی نوشتن عبارت if را برای 500 امین بار بیاموزید؟
به طور مشابه، اگر شما به یک زبان برنامه نویسی مانند گو، سی، جاوا اسکریپت، پایتون یا هر زبان رایج دیگری تسلط دارید، پس از خواندن این کتاب میتوانید کد سی شارپ تمیز و مصطلح بنویسید. ممکن است که بخواهید برخی از اصول طراحی شی گرا را نیز بخوانید، اما این نباید مانع بزرگی برای شروع باشد (اگر از Go آمده اید، هر زمان که از رابطها استفاده میکنیم، توجه بیشتری داشته باشید؛ چرا که آنها در اینجا، همان جور کار نمیکنند).
در نهایت، اگر شما توسعه دهنده ای هستید که مدتی است از سی شارپ استفاده میکنید و در فکر این هستید که چگونه میتوانید دانش خود را ارتقا دهید، این کتاب برای شما مناسب است. بسیاری از منابع پیشرفته، دانشی را فرض کرده اند که در منابع مقدماتی یا مبتدی پوشش داده نشده اند. هدف این کتاب پر کردن این شکاف است.
چگونه این کتاب سازمان دهی شده است: یک نقشه راه
این کتاب در مقایسه با یک کتاب فنی معمولی، رویکردی تا حدودی غیر متعارف را در پیش گرفته است. اکثر کتابهای فنی کتاب هایی مرجع هستند که به هر ترتیبی میتوانند خوانده شوند. این کتاب، یک کتاب مرجع نیست و برای بهره بردن از آن، باید فصلها را به ترتیب بخوانید. این کتاب به شش بخش تقسیم شده است که در ادامه آمده است:
- «استفاده از سی شارپ و دات نت»: در فصل ۱ ما در مورد اینکه این کتاب چی هست، چه چیزی آموزش میدهد و چه چیزی را آموزش نمیدهد بحث میکنیم. فصل ۲، یک گشت کوتاه از زبان C# و اکو سیستم .NET است که بر روی چیز هایی که دات نت را از سایر پلتفرمها جدا میکند و همچنین داستان کامپایل شدن سی شارپ، تمرکز میکند.
- «مجموعه کد موجود»: در این قسمت، من شما را در مورد بررسی مجموعه کدی که به ارث برده ایم راهنمایی میکنم. این قسمت، یک بررسی دقیق از مجموعه کد موجود همراه با بحث درباره بهبودهای بالقوه و اشکالات طراحی است.
- «لایه دسترسی به پایگاه داده»: در ادامه قسمت ۲، ما شروع به بازنویسی کل سرویس میکنیم. در قسمت ۳، ما بر روی ایجاد یک پروژهی .NET Core جدید تمرکز میکنیم و نحوهی استفاده از Entity Framework Core برای اتصال به یک پایگاه داده cloud (یا local) را یاد میگیریم. موضوعات دیگر بحث شده شامل الگوی repository/service، متدها و ویژگیهای مجازی و کلاسهای sealed است.
- «لایهی ریپازیتوری»: در قسمت ۴، ما گام بر روی زمین الگوی repository/service میگذاریم و پنج کلاس ریپازیتوری را پیاده میکنیم. همچنین شما میتوانید درباره تزریق وابستگی، چند ریسمانی (شامل قفل گذاری، mutexها و سمافور ها)، مقایسههای برابری سفارشی، توسعه آزمون محور، generic ها، متدهای الحاقی و LINQ یاد بگیرید.
- «لایهی سرویس»: قدم بعدی، پیاده سازی کلاسهای لایهی سرویس هستند. در قسمت ۵، ما چهار لایهی سرویس را از ابتدا مینویسیم و درباره رفلکشن، تقلید، جفت شدگی، ادعاهای زمان اجرا و کنترل نوع، مدیریت خطا، structها و yield return صحبت میشود.
- «لایهی کنترلر»: قسمت ۶، آخرین مرحله از بازنویسی سرویسی است که در آغاز از قسمت ۲ به ارث بردیم. در این قسمت، ما دو کلاس کنترلر مینویسیم و تست پذیرش انجام میدهیم. علاوه بر آن موضوعات، مباحثی مانند میان افزار ASP.NET Core، مسیریابی HTTP، انقیاد داده سفارشی، سریال سازی و deserialization دادهها و تولید یک مشخصه OpenAPI در زمان اجرا نیز مطرح شده اند.
مطالبی که در کتاب «کد نویسی مانند یک حرفه ای در سی شارپ» خواهید آموخت:
- آزمون واحد و توسعه آزمون محور
- ریفکتور کردن یک مجموعه کد قدیمی دات نت
- اصول یک کد تمیز
- مهارتهای معماری backend ضروری
- کوئری زدن و دستکاری پایگاههای داده با LINQ و Entity Framework Core