تاریخ: ۲۰:۱۵:۱۹ ۱۳۹۸/۶/۲۹ جمعه
توسط: MotoMan
امتیاز: ۱

برنامه نویسی شی گرا (OOP)، یک الگوی برنامه نویسی است که حول اشیا به جای عملیات و داده به جای منطق، سازمان دهی شده است. در جدیدترین نسخه‌ی سیشارپ، قابلیت‌های جدیدی اضافه شده است که برنامه نویسی شی گرا را بهبود می‌بخشد. این کتاب، هدفش آموزش برنامه نویسی شی گرا در #C با شیوه ای جذاب و تعاملی است. پس از گذراندن کتاب، شما درکی از ۴ رکن OOP خواهید داشت که عبارتند از کپسوله سازی، وراثت، انتزاع و چند ریختی و همچنین قادر به استفاده از آخرین قابلیت‌های C# 8.0 مثل نوع ارجاعی نال پذیر و جریان‌های آسنکرون خواهید بود. در ادامه شما الگوهای طراحی مختلفی، اصول‌ها و بهترین شیوه‌ها در OOP را بررسی خواهید کرد.

کتاب برنامه نویسی شی گرا با سیشارپ، برای آن دسته از افرادی است که تازه با OOP آشنا شده اند.  در این کتاب فرض شده است که شما در حال حاضر مهارت کافی در سیشارپ دارید؛ البته احتیاجی به دانش OOP از هیچ زبان دیگری نیست.

تعداد بازدید: ۹۱
دیدگاه ها: ۰
تاریخ: ۰:۰:۴۷ ۱۳۹۸/۶/۲۸ پنج شنبه
توسط: MotoMan
امتیاز: ۳
برچسب ها: C Sharp | dotNET Framework | .NET Core |

در اوایل کارم، multithreading را به شکلی سخت یاد گرفتم. بعد از گذشت چند سال، برنامه نویسی asynchronous را نیز به سختی یاد گرفتم. در حالی که آن‌ها تجربیات با ارزشی بودند، آرزو می‌کنم که در آن زمان، برخی از ابزار‌ها و منابعی که امروزه در دسترس هستند را در اختیار داشتم. به ویژه، پشتیبانی از async و await در زبان‌های دات نت مدرن، که طلای خالص هستند.

با این حال، امروزه اگر به کتاب‌ها و منابع دیگر دور و اطراف برای یادگیری همزمانی نگاهی بیندازید، تقریبا همه آن‌ها با معرفی مفاهیم سطح پایین مطالبشان را شروع کرده اند. پوشش بسیار خوبی از thread‌ها و اصول serialization وجود دارد و تکنیک‌های سطح بالا، بعد از آن‌ها آمده اند؛ البته اگر اصلا پوشش داده شوند. من اعتقاد دارم که این امر دو دلیل دارد. اول اینکه بسیاری از توسعه دهندگان همزمانی از جمله خودم، ابتدا مفاهیم سطح پایین را با سر و کله زدن با تکنیک‌های قدیمی یاد گرفته ایم. دوم اینکه، بسیاری از کتاب‌ها چندین سال قدمت دارند و تکنیک‌های قدیمی منسوخ شده را پوشش می‌دهند. با در دسترس قرار گرفتن تکنیک‌های جدیدتر، این کتاب‌ها به روز شده اند تا تکنیک‌های جدید‌تر را شامل شوند، اما متأسفانه آنها را در انتهای کتاب قرار داده اند.

فکر می‌کنم که آن کتاب‌ها وارونه عمل کرده اند. در حقیقت این کتاب فقط رویکرد‌های مدرن برای همزمانی را پوشش می‌دهد. البته این بدان معنی نیست که فهم همه‌ی آن مفاهیم سطح پایین هیچ ارزشی ندارد. وقتی که برای برنامه نویسی به دانشگاه می‌رفتم، کلاسی داشتم که باید با استفاده از مشتی گیت، یک CPU مجازی می‌ساختم و در کلاسی دیگر برنامه نویسی اسمبلی یاد داده می‌شد. در شغلم، من هرگز CPU ای طراحی نکردم و فقط چند خط اسمبلی کد نوشتم؛ اما درک من از مبانی، هنوز که هنوزه هر روز به من کمک می‌کند. با این وجود بهتر است که با انتزاع‌های سطح بالا شروع کنیم؛ چرا که اولین کلاس برنامه نویسی من به زبان اسمبلی نبود.

ویرایش دوم کتاب همزمانی در سیشارپ، مقدمه ای (و مرجعی) برای همزمانی با استفاده از رویکرد‌های مدرن است. این کتاب چندین نوع مختلف از همزمانی را پوشش می‌دهد از جمله همروندی، نامتقارنی و برنامه نویسی reactive. با این حال، هیچ یک از تکنیک‌های قدیمی را پوشش نمی‌دهد، چرا که به اندازه کافی در بسیاری از کتاب‌های دیگر و منابع آنلاین پوشش داده شده اند.

تعداد بازدید: ۱۸۹
دیدگاه ها: ۲
تاریخ: ۲۰:۴۵:۲۰ ۱۳۹۸/۶/۲۵ دوشنبه
توسط: MotoMan
امتیاز: ۳
برچسب ها: C Sharp | dotNET Framework | .NET Core |

روز به روز انقلابی در دنیای کامپیوتر رخ می‌دهد؛ فناوری‌های موجود، قدیمی و منسوخ می‌شوند و راه را برای فناوری‌های جدید باز می‌کنند. برای یادگیری و کار با فناوری‌های مدرن شما به یک IDE به روز احتیاج دارید. مایکروسافت نیز، ویژوال استادیو را که یکی از محبوب‌ترین IDE‌ها در میان توسعه دهندگان است، ارائه کرده است.
ویژوال استادیو ۲۰۱۹، جدیدترین IDE مایکروسافت برای توسعه دهندگانی است که برای ویندوز و پلتفرم‌های دیگر، برنامه‌های دسکتاپ، وب و موبایل می‌نویسند. در این کتاب یاد می‌گیرید که چگونه به طور موثری از این IDE برای ساخت، دیباگ و تست کردن برنامه هایتان استفاده کنید تا با ساده‌تر کردن کارهای رایج و اختصاص دادن زمان بیشتری برای تمرکز بر روی سایر جنبه‌های پروژه تان، بهره وری خود را ارتقا دهید.
در کتاب Mastering Visual Studio 2019، با مروری بر قابلیت‌های جدید ویژوال استادیو ۲۰۱۹، بهبود‌های آن نسبت به نسخه قبلش را متوجه می‌شوید. این کتاب به شما در ساخت برنامه‌ها برای ویندوز با استفاده از Windows Presentation Foundation (WPF)، که مدل برنامه نویسی واحدی برای توسعه برنامه‌های دسکتاپ پویا، غنی و داده محور ارائه می‌دهد، کمک می‌کند. در ادامه شما درباره پیاده سازی محاسبات ابری مایکروسافت با آژور به همراه ساخت برنامه‌ها با استفاده از NET Core. و تایپ اسکریپت یاد خواهید گرفت. این کتاب همچنین به شما در بررسی NuGet، مدیر پکیج برای پلتفرم توسعه مایکروسافت که شما را قادر به ساخت، انتشار و استفاده از پکیج‌ها از یک مخزن مرکزی با مدیریت لیست ارجاعات پکیج‌ها می‌کند، کمک می‌کند. در انتها شما تکنیک‌های دیباگ کردن و live unit testing که در IDE قرار دارند را خواهید آموخت.

 

تعداد بازدید: ۱۸۶
دیدگاه ها: ۰
تاریخ: ۲۱:۰:۴۲ ۱۳۹۸/۶/۱۷ یکشنبه
توسط: MotoMan
امتیاز: ۱

به عنوان یک توسعه دهنده، مطمئناً در مورد ساختمان داده‌ها و الگوریتم‌های مختلف شنیده اید. با این حال، آیا تا به حال در مورد آنها و تأثیرشان بر عملکرد برنامه‌های خود عمیقا فکر کرده اید؟ اگر نه، وقت آن است که نگاهی به این موضوع بیندازیم و این کتاب جای بسیار خوبی برای شروع است!

کتاب ساختمان داده‌ها و الگوریتم‌ها در سیشارپ، ساختمان داده‌های زیادی را پوشش می‌دهد که از ساده‌ترین آن‌ها یعنی آرایه‌ها و انواع مختلف آن، به عنوان نماینده ساختمان داده‌های دسترسی تصادفی شروع می‌کند. سپس لیست‌ها همراه با نوع مرتب شده آن‌ها معرفی شده اند. این کتاب همچنین ساختمان‌های داده دسترسی محدود را بر اساس پشته‌ها و صف ها، از جمله صف اولویت توضیح می‌دهد. پس از این، ما ساختمان داده دیکشنری را به شما معرفی می‌کنیم که به شما این امکان را می‌دهد تا کلید‌ها را به مقادیر نگاشت کنید و جست و جوی سریع انجام دهید. همچنین نوع مرتب شده دیکشنری نیز پشتیبانی می‌شود.  اگر می‌خواهید که از عملیات مرتبط با مجموعه‌ها با کارایی بالا بهره ببرید، شما می‌توانید از ساختمان داده دیگری به نام hash set استفاده کنید. یکی از قدرتمند‌ترین ساختار‌ها درخت است که در چند نوع مختلف مثل درخت دودویی، درخت جستجوی دودویی، درخت خود متوازن و هیپ وجود دارد. آخرین ساختمان داده ای که ما بررسی می‌کنیم گراف است که توسط بسیاری از مباحث جالب الگوریتمی مثل پیمایش گراف، درخت پوشای کمینه، رنگ آمیزی نود‌ها و پیدا کردن کوتاه‌ترین مسیر در گراف پشتیبانی می‌شود. مطالب زیادی پیش روی شماست!

کتاب ساختمان داده‌ها و الگوریتم‌ها در سیشارپ، برای آن دسته از توسعه دهندگانی است که دوست دارند ساختمان داده‌ها و الگوریتم‌ها در #C را یاد بگیرند. دانش پایه ای برنامه نویسی #C در استفاده بهتر شما از این کمک مفید خواهد بود.

تعداد بازدید: ۲۳۳
دیدگاه ها: ۰
تاریخ: ۲۰:۱۹:۳۹ ۱۳۹۸/۴/۲۸ جمعه
توسط: MotoMan
امتیاز: ۵

الگوهای طراحی اساسا راه حل هایی با قابلیت استفاده مجدد برای چالش‌ها و مسائل رایج برنامه نویسی هستند که اگر به شکل صحیح مورد استفاده قرار گیرند، به راحتی می‌توانند نیازمندی‌های حیاتی نرم افزار را رفع کنند و هزینه‌ها را کاهش دهند. این کتاب راه‌های موثر برای استفاده از الگوهای طراحی و پیاده سازی آن‌ها را با کدهای قابل اجرا مخصوص #C و NET Core. نشان داده است.

کتاب Hands-On Design Patterns with C# and .NET Core، با مروری بر برنامه نویسی شی گرا (OOP) و اصول SOLID آغاز شده است. این کتاب شرح دقیقی از الگوهای طراحی (Gang of Four (GoF مثل الگوهای creational، structural و behavioral ارائه کرده است. سپس به سراغ الگوهای concurrent، reactive و functional رفته که به شما در کد نویسی بهتر با استریم ها، ترد‌ها و coroutine‌ها کمک می‌کنند. در اواخر کتاب شما درباره‌ی آخرین trend‌ها در معماری یاد خواهید گرفت و الگوهای طراحی در میکرو سرویس ها، برنامه‌های serverless و cloud native را بررسی می‌کنید. شما حتی ملاحظاتی که به هنگام انتخاب معماری‌های مختلف مثل میکرو سرویس‌ها یا MVC باید به حساب بیاورید را یاد می‌گیرید.

با به پایان رساندن کتاب الگوهای طراحی در سیشارپ و دات نت Core، شما قادر خواهید بود تا کدهایی واضح و موثر بنویسید و در کار کردن با پروژه‌های مقیاس پذیر در هر اندازه ای راحت باشید.

تعداد بازدید: ۷۶۳
دیدگاه ها: ۰
تاریخ: ۱۴:۵۷:۵۵ ۱۳۹۸/۴/۷ جمعه
توسط: MotoMan
امتیاز: ۱

با کمک کتاب Pro .NET Benchmarking، به شکل درست بنچمارک‌ها را طراح کنید، معیارهای کلیدی کارایی برنامه‌های دات نت را اندازه گیری کنید و نتایج را تجزیه و تحلیل کنید. این کتاب ده‌ها مورد مطالعاتی ارائه داده است تا در فهم موضوعات پیچیده بنچمارک  به شما کمک کند. در این کتاب شما از اشتباهات رایج دوری خواهید کرد، دقت اندازه گیری‌های خود را کنترل خواهید کرد و کارایی نرم افزار خود را بهبود خواهید بخشید.

نویسنده این کتاب  Andrey Akinshin، محبوب‌ترین کتابخانه Benchmarking دات نت را برای پنج سال است که نگهداری می‌کند و بیشتر اشتباهاتی که توسعه دهندگان در benchmark‌های خود مرتکب می‌شوند را در این کتاب پوشش داده است.

تعداد بازدید: ۴۲۷
دیدگاه ها: ۰
تاریخ: ۸:۴۵:۴۷ ۱۳۹۸/۳/۱۶ پنج شنبه
توسط: MotoMan
امتیاز: ۳
برچسب ها: C Sharp | dotNET Framework | .NET Core |

کتاب بررسی ویژگیهای پیشرفته در #C، برای آن دسته از توسعه دهندگانی است که تجربه کار با سیشارپ و ویژوال استادیو را دارند و می‌خواهند دانش  و مهارت خود را بهبود دهند. این کتاب بر روی C# 7 تمرکز دارد ولی ویژگی‌های جدید در C# 8‌ و NET Core 3.0. نیز بررسی شده اند.

مطالبی که در کتاب #Exploring Advanced Features in C خواهید آموخت:

  • نگاهی بر ویژگی‌های C# 7 مثل tuple ها، توابع محلی و discard ها
  • بررسی کلاس‌های انتزاعی، پیاده سازی اینترفیس ها، استفاده از async، await، nullable و dynamic types
  • نگاهی به ویژگی‌های C# 8 مثل nullable reference types، recursive patterns، ranges، indices، switch expressions
  • ساخت برنامه‌های وب با استفاده از ASP.NET MVC، SASS، jQuery، و Model-View-Controller.
  • بررسی امکانات جدید .NET Core 3.0 و نحوه‌ی راه اندازی و اجرای دات نت کور 3
  • نگاهی به نحوه راه اندازی یک برنامه ASP.NET Core MVC بر روی لینوکس و توسعه برنامه با استفاده از Visual Studio Code
  • بررسی امکانات جدید Visual Studio 2019
  • بررسی نحوه‌ی کار Visual Studio Live Share
  • یادگیری برخی از نکات Refactoring و Codefix‌ با استفاده از ویژوال استادیو
  • آوردن هوش مصنوعی به ویژوال استادیو با بهره گیری از Visual Studio IntelliCode
تعداد بازدید: ۹۲۹
دیدگاه ها: ۱
تاریخ: ۲۰:۲۴:۵۸ ۱۳۹۸/۳/۱۲ یکشنبه
توسط: MotoMan
امتیاز: ۳

با کمک کتاب الگوهای طراحی در دات نت، الگو‌های طراحی در دات نت را با استفاده از آخرین نسخه‌های زبان‌های #C و #F پیاده سازی کنید. این کتاب بررسی جامعی از الگو‌های طراحی که توسط توسعه دهندگان مورد استفاده قرار می‌گیرند را ارائه کرده است.

کتاب Design Patterns in .NET، با استفاده از زبان برنامه نویسی سی شارپ، پیاده سازی الگوهای طراحی کلاسیک را بررسی کرده است و درباره کاربرد و امکانات به خصوص زبان برای پیاده سازی آن‌ها بحث کرده است.

مطالبی که در کتاب الگوهای طراحی در .NET خواهید آموخت:

  • پیاده سازی جدید‌ترین الگوها با استفاده از سی شارپ و #F
  • بررسی الگوهای مختلف طراحی
  • استفاده از آخرین نسخه‌های زبان #C، ویژوال استادیو و ریشارپر
تعداد بازدید: ۸۳۶
دیدگاه ها: ۰
تاریخ: ۲۰:۳۵:۵۷ ۱۳۹۸/۲/۱۶ دوشنبه
توسط: MotoMan
امتیاز: ۳

کتاب برنامه نویسی شبکه با #C و NET Core.، راهنمایی جامع برای فهمیدن معماری شبکه، پروتکل‌های ارتباطی و تحلیل شبکه است تا برنامه‌های امن سازگار با آخرین نسخه از C# 8 و NET Core 3.0. بنویسید.

در کتاب Hands-On Network Programming with C# and .NET Core، معماری‌های مختلف شبکه که برنامه نویسی توزیع شده را امکان پذیر می‌کند را بررسی می‌کنید. همچنین نحوه‌ی ایجاد برنامه‌های قابل اطمینان را با نوشتن ارتباطات ایمن بین کلاینت و سرور یاد می‌گیرید. در ادامه از NET Core. برای اتوماسیون دستگاه شبکه، DevOps و شبکه‌های تعریف شده توسط نرم افزار استفاده می‌کنید.

تعداد بازدید: ۱۰۴۰
دیدگاه ها: ۱
تاریخ: ۲۱:۳۶:۴۸ ۱۳۹۸/۲/۸ یکشنبه
توسط: MotoMan
امتیاز: ۲

در دهه‌ گذشته، برنامه نویسی کامپوننت گرا خود را به عنوان متدولوژی غالب در توسعه نرم افزار تثبیت کرده است. صنعت نرم افزار از کد بیس‌های عظیم، مونولیتک و با نگهداری سخت در حال دوری جستن است. شاغلان صنعت نرم افزار دریافتند که با شکستن سیستم به کامپوننت‌های باینری، می‌توانند به قابلیت استفاده مجدد، توسعه پذیری و قابلیت نگهداری بیشتری دست یابند. این مزایا به نوبه‌ی خود می‌توانند باعث سریع‌تر رسیدن برنامه به بازار، قوی‌تر شدن و مقیاس پذیری بیشتر  برنامه‌ها و کاهش هزینه توسعه و نگهداری برنامه در دراز مدت شوند. در نتیجه تصادفی نیست که برنامه نویسی کامپوننت گرا پا به عرصه‌ی بزرگی گذاشته است.

تعداد بازدید: ۵۱۰
دیدگاه ها: ۰
تاریخ: ۲۱:۱۴:۳۴ ۱۳۹۸/۱/۲۷ سه شنبه
توسط: MotoMan
امتیاز: ۲

ما در میان یک انقلاب تکنولوژیک هستیم. همان طور که با انقلاب قبلی، عدم توانایی در انطباق با روش‌های جدید مهارت‌های توسعه شما را دیر یا زود منسوخ کرد. آغاز گر این انقلاب، انقلاب ابری (Cloud Revolution)، کلان داده، اینترنت اشیا (IoT) و هوش مصنوعی (AI) ، همگی چشم انداز توسعه‌ی نرم افزار را تغییر دادند. همان طور که وارد عصر هوش مصنوعی و اینترنت اشیا می‌شویم، تکنولوژی دیگری در حاضر در سراسر جهان مطرح شده است که بلاکچین نام دارد. ترکیب اینترنت اشیا و بلاکچین که از هوش مصنوعی قدرت بگیرند، دوباره در توسعه نرم افزار انقلاب می‌کنند.

کتاب اینترنت اشیا، هوش مصنوعی و بلاکچین برای دات نت، این که چگونه قابلیت‌های هوش مصنوعی (AI)، و یادگیری ماشین (ML) می‌توانند با استفاده از اینترنت اشیا (IoT) تقویت شوند و با استفاده بلاکچین (Blockchain) امن شوند را بررسی کرده است. بنابراین برنامه‌های شما نه تنها می‌توانند باهوش‌تر باشند بلکه می‌توانند متصل‌تر باشند و از هر موقعی امن‌تر باشند. این کتاب API‌ها و سرویس هایی از مایکروسافت شامل Azure IoT، API‌های سرویس‌های (Cognitive، Blockchain as a Service (Baas و Machine Learning Studio را پوشش می‌دهد.

تعداد بازدید: ۷۰۲
دیدگاه ها: ۰
تاریخ: ۲۳:۴۴:۴۱ ۱۳۹۸/۱/۲۰ سه شنبه
توسط: MotoMan
امتیاز: ۳
برچسب ها: C Sharp | dotNET Framework | .NET Core |

ویرایش چهارم کتاب C# in Depth، درباره‌ی زبان برنامه نویسی سیشارپ است.  در اغلب موارد نیز وارد جزئیات runtime که وظیفه‌ی اجرای کد‌های شما را بر عهده دارد و همچنین کتابخانه هایی که از برنامه‌ی شما پشتیبانی می‌کنند خواهیم شد، اما تمرکز اصلی این کتاب بر روی خود این زبان است. هدف اصلی این کتاب این است که باعث شود که شما تا آن جایی که امکان دارد با زبان سیشارپ راحت باشید تا این که بخواهید با آن سر جنگ بردارید.

از زمان ویرایش اول، طراحان زبان #C بارها اثبات کرده اند که تا زمانی که صنعت به آن علاقه نشان می‌دهد، آن را پیشرفت دهند و این خیلی مهم است، چرا که در طول این ده سال صنعت بسیار تغییر پیدا کرده است. برای بسیاری از توسعه دهندگان دات نت، یکی از بزرگترین تغییرات در طول این سال‌های اخیر NET Core. بوده است. فریمورکی متن باز و کراس پلتفرم که با هدف سازگاری با سایر فریمورک‌ها و پلتفرم‌ها توسعه داده شد.

تعداد بازدید: ۱۴۱۱
دیدگاه ها: ۰
تاریخ: ۱۲:۳۶:۸ ۱۳۹۷/۶/۳۰ جمعه
توسط: MotoMan
امتیاز: ۶
برچسب ها: Design Patterns | dotNET Framework |

ویرایش دوم کتاب Framework Design Guidelines، بهترین شیوه‌ها را برای طراحی کتابخانه هایی با قابلیت استفاده مجدد برای Microsoft .NET Framework را به توسعه دهندگان نشان داده است.

این کتاب کار هر توسعه دهنده‌ی دات نتی که کدی تولید می‌کند تا توسعه دهندگان دیگر از آن استفاده کنند را بهبود می‌بخشد. این کتاب همچنین شامل نکات فراوانی برای دستورالعمل هاست که توسط ۳۵ معمار و حرفه ای فریمورک دات نت به آن اضافه شده اند و بحث هایی از دلایل دستور العمل‌ها و همچنین مثالهایی از مواقعی که نباید از دستورالعمل‌ها پیروی کرد را ارائه داده اند.

معماران مایکروسافت، Krzysztof Cwalina و Brad Abrams طراحی فریمورک را از بالا به پایین آموزش می‌دهند. مطالبی که در این کتاب خواهید آموخت عبارتند از:

  • فلسفه عمومی و اصول اساسی طراحی فریمورک
  • دستورالعمل‌های نامگذاری برای قسمت‌های مختلف فریمورک
  • دستورالعمل هایی برای طراحی و گسترش  type‌ها و اعضای آن ها
  • مسائل موثر و دستورالعملهایی برای اطمینان از گسترش پذیری
  • چگونه استثناها را طراحی کنیم
  • دستورالعملها و مثال هایی برای الگوهای رایج طراحی فریمورک

 

تعداد بازدید: ۱۳۷۴
دیدگاه ها: ۰
تاریخ: ۱۳:۲:۴ ۱۳۹۷/۵/۱۲ جمعه
توسط: MotoMan
امتیاز: ۴

این کتاب فقط این که CLR چگونه کار می‌کند را به شما یاد نمی‌دهد، بلکه دقیقا چیزهایی را که اکنون باید انجام دهید به شما یاد می‌دهد تا امروز به بهترین کارایی ممکن برسید. این کتاب به طرز ماهرانه ای شما را در جزئیات بهینه سازی شدید کارایی در NET.، آزمایشات عمیق عملکرد CLR، توصیه‌ها و آموزش‌های ابزار‌های رایگان، مثال‌های مفید و آموزش‌های گام به گام برای اندازه گیری و بهبود کارایی راهنمایی کرده است.

ویرایش دوم کتاب، پیشرفت‌ها و بهبود‌های NET. در طی سال‌های اخیر، پوشش بیشتر ابزار ها، سرفصل‌های بیشتر، آموزش‌های بیشتر، نکات بیشتر و بهبود هایی در سرتاسر کتاب را شامل می‌شود.

تعداد بازدید: ۲۳۹۴
دیدگاه ها: ۱
تاریخ: ۱۷:۱۶:۵۴ ۱۳۹۷/۳/۲۵ جمعه
توسط: MotoMan
امتیاز: ۴
برچسب ها: C Sharp | Design Patterns | dotNET Framework |

عنوان این کتاب، کد انطباق پذیر است که شرح خوبی از نتیجه‌ی حاصل از به کارگیری اصول موجود در این کتاب است که عبارت از: توانایی کد برای انطباق با هر نیازمندی جدیدی یا سناریوهای پیش بینی نشده بدون نیاز به دوباره کاری قابل توجه. هدف این کتاب جمع آوری تعداد زیادی از بهترین شیوه‌های موجود در دنیای برنامه نویسی #C با NET Framework. مایکروسافت است. اگرچه بعضی از مطالب این کتاب در سایر کتاب‌ها نیز پوشش داده شده اند، اما آن کتاب‌ها بیشتر بر روی تئوری تمرکز کرده اند و یا مخصوص توسعه NET. نیستند.

برنامه نویسی می‌تواند فرآیندی آهسته باشد. اگر کدتان انطباق پذیر باشد، شما قادر خواهید بود تا آن را سریع تر، ساده‌تر و با اشکال کمتری تغییر دهید نسبت به وقتی که بر روی کدی کار می‌کنید که مانع تغییرات می‌شود. همان طور که هر توسعه دهنده ای می‌داند نیازمندی‌ها مشمول تغییرات هستند. این که این تغییرات چگونه مدیریت شوند، فاکتوری کلیدی است که بین پروژه‌های نرم افزاری موفق و شکست خورده تفاوت ایجاد می‌کند. توسعه دهندگان به تغییرات نیازمندی‌ها می‌توانند با دو دیدگاه متفاوت واکنش نشان دهند، که در ادامه آمده است.

اول؛ توسعه دهندگانی هستند که می‌توانند سفت و سخت باشند. در این رویکرد از فرآیند توسعه تا طراحی کلاس، پروژه به همان اندازه ای غیر قابل انعطاف است که اگر در 50 سال گذشته با کارت‌های پانچ پیاده سازی شده بود. متدولوژی‌های آبشاری در اطمینان از این که نرم افزار آزادانه تغییر نمی‌کند مجرمان آشکاری هستند. هدفشان این بود که فاز‌های آنالیز، طراحی، پیاده سازی و تست کردن باید متمایز باشند و تغییر دادن در نیازمندی‌ها پس از شروع پیاده سازی برای مشتریان سخت یا حداقل گران تمام شود. در نتیجه، کد برای تغییرات ساخته نمی‌شد؛ در حقیقت این فرآیند همه چیز را ممنوع می‌کند.

دوم؛ توسعه دهندگانی هستند که می‌توانند انطباق پذیر باشند. فرآیند‌های چابک فقط به عنوان جایگزینی برای متدولوژی‌های سفت و سخت نیستند، بلکه واکنشی به آن‌ها هستند. هدف آن‌ها در آغوش گرفتن تغییرات به عنوان بخشی از قرارداد بین توسعه دهنده و مشتری است. اگر مشتریان می‌خواهند چیزی را در محصولی که برایش پول پرداخت می‌کنند تغییر دهند، هزینه‌های زمانی و مالی باید با اندازه تغییرات مرتبط باشد و نه به فاز فرآیندی که در حال حاضر در حال انجام است. بر خلاف مهندسی فیزیکی، مهندسی نرم افزار با ابزاری قابل انعطاف کار می‌کند: سورس کد. آجر‌ها و ملات که یک خانه را تشکیل می‌دهند به معنای واقعی کلمه در مرحله‌ی ساخت با هم ترکیب شده اند. هزینه‌های مربوط به تغییر طراحی یک خانه لزوما با مرحله‌ی تکمیل ساخت مرتبط است. اگر پروژه هنوز آغاز نشده است و هنوز فقط بر روی نقشه است، تغییرات تقریبا ارزان هستند. اگر پنجره‌ها کار گذاشته شده، سیم کشی‌های برق انجام شده و لوله‌ها کار گذاشته شده اند، انتقال حمام از طبقه بالا به طبقه پایین کنار آشپزخانه فوق العاده گران تمام می‌شود. اما با کد، جابه جا کردن امکانات و تغییر بر روی ناوبری رابط کاربری آن قدر‌ها هم هزینه بر نیست. متاسفانه موضوع همیشه این طوری هم نیست. تنها هزینه‌های زمانی اغلب این تغییرات را ممنوع می‌کند و این به طور عمده ناشی از فقدان سازگاری در کد است.

 

تعداد بازدید: ۲۵۰۵
دیدگاه ها: ۲
تاریخ: ۸:۴۶:۵۰ ۱۳۹۷/۱/۱۷ جمعه
توسط: MotoMan
امتیاز: ۳
برچسب ها: C Sharp | dotNET Framework |

زمانی که ما برای اولین بار درباره‌ی نوشتن این کتاب صحبت می‌کردیم، ایده‌ی ما ارائه روشی به خوانندگان بود تا برنامه نویسی را با استفاده از #C یاد بگیرند و در کنار آن نیز بتوانند امتحان گواهینامه 483-70 مایکروسافت را قبول شوند. مدرک گرفتن در تکنولوژی‌های خاص به طرق مختلفی به شما کمک می‌کند؛ اول اینکه به شما کمک می‌کند تا بدانید که کدام بخش‌ها توسط متخصصان با اهمیت تلقی می‌شوند. دوم اینکه کمکتان می‌کند تا یک تکنولوژی جدید را با داشتن هدف یاد بگیرید. در اتنها در شغلتان نیز به شما کمک می‌کند، چرا که گواهی نامه‌ها توسط کارفرمایان به رسمیت شناخته می‌شوند و این می‌تواند نسبت به سایر متقضیان، مزیت بیشتری را به شما بدهد.

پیشنهاد مایکروسافت قبل از شرکت کردن در امتحان 483-70، داشتن حداقل یک سال سابقه برنامه نویسی با #C است، ما نیز پیشنهاد می‌کنیم که کمی تجربه‌ی کار کردن با سایر زبان‌های برنامه نویسی را داشته باشید، با این حال ضروری هم نیست. اگر شما برنامه نویسی با تجربه ای هستید، پیشنهاد ما به شما این است که فصل هایی را که با آن‌ها آشنایی دارید را به صورت سطحی مطالعه کنید و فصل هایی که شما درموردشان خیلی مطمئن نیستید را به صورت دقیق بخوانید. اگر شما برنامه نویسی تازه کار هستید، به شما توصیه می‌کنیم که کل کتاب را مطالعه کنید و اطمینان حاصل کنید که همه سوالات امتحانی فصل‌ها را فهمیده اید و Cheat Sheet‌های در انتهای هر فصل را هم مطالعه کرده اید.

این کتاب نسخه 5.0 زبان #C و نسخه 4.5 فریمورک NET. را پوشش داده است. ما تمام سعیمان را کرده ایم تا تمامی مواردی که در امتحان 70-483 مورد ارزیابی قرار می‌گیرند را پوشش بدهیم و در هر فصل بر روی موضوعات کلیدی خاص تمرکز کرده ایم. ماهمچنین در پایان هر فصل، سوالات نمونه‌ی زیادی که شباهت‌های زیادی با سوالات مایکروسافت دارند را قرار داده ایم.

تعداد بازدید: ۲۲۵۷
دیدگاه ها: ۱