دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: 2nd edition
نویسندگان: McLean Hall. Gary
سری: Developer Best Practices
ISBN (شابک) : 9781509302581, 1509302581
ناشر: Microsoft Press
سال نشر: 2017
تعداد صفحات: 449
زبان: English
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 35 مگابایت
در صورت تبدیل فایل کتاب Adaptive code: agile coding with design patterns and solid principles به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب کد تطبیقی: برنامه نویسی چابک با الگوهای طراحی و اصول جامد نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
کدی بنویسید که بتواند با تغییرات سازگار شود. با استفاده از اصول این کتاب، می توانید کدی ایجاد کنید که نیازهای جدید و سناریوهای پیش بینی نشده را بدون بازنویسی قابل توجهی در خود جای دهد. گری مکلین هال بهترین شیوهها، اصول و الگوهای Agile را برای طراحی و نوشتن کد توضیح میدهد که میتواند سریعتر و آسانتر و با خطاهای کمتر تکامل یابد، زیرا مانع تغییر نمیشود. کد تطبیقی، ویرایش دوم که اکنون اصلاح شده، به روز شده و گسترش یافته است، بینش های عملی ضروری در مورد Kanban، وارونگی وابستگی، و ایجاد انتزاعات قابل استفاده مجدد را اضافه می کند. مکلین هال با تکیه بر بیش از یک دهه تجربه مشاوره و توسعه Agile، پرفروشترین کتاب خود را با پوشش عمیقتر تست واحد، بازسازی مجدد، تزریق وابستگی خالص و موارد دیگر بهروزرسانی کرده است. تسلط بر روش های جدید قدرتمند برای: * نوشتن کدی که اسکرام، کانبان، یا هر فریم ورک چابک دیگری را فعال و تکمیل می کند * توسعه کدی که بتواند از تغییرات عمده در نیازمندی ها جان سالم به در ببرد * برنامه ریزی برای سازگاری با استفاده از وابستگی ها، لایه بندی، رابط ها و الگوهای طراحی * اجرای واحد آزمایش و بازسازی پشت سر هم، به دست آوردن ارزش بیشتر از هر دو * از تکنیک "مستر طلایی" برای تطبیق کدهای قدیمی استفاده کنید * ساخت کد جامد با اصول تک مسئولیتی، باز/بسته و جایگزینی Liskov * ایجاد رابط های کوچکتر برای پشتیبانی از تنوع بیشتر نیازهای مشتری و معماری * از بهترین شیوه های تزریق وابستگی برای بهبود سازگاری کد استفاده کنید * وارونگی وابستگی را با الگوی پلکان اعمال کنید و از ضد الگوهای مرتبط در مورد شما اجتناب کنید این کتاب برای برنامه نویسان در تمام سطوح مهارت است که به دنبال بینش عملی تر در مورد الگوهای طراحی هستند، SOLID اصول، تست واحد، refactoring و موضوعات مرتبط. اکثر خوانندگان به زبان های C#، جاوا، C++ یا زبان های شی گرا برنامه نویسی کرده اند و با تکنیک های اصلی برنامه نویسی رویه ای آشنا هستند.
Write code that can adapt to changes. By applying this book's principles, you can create code that accommodates new requirements and unforeseen scenarios without significant rewrites. Gary McLean Hall describes Agile best practices, principles, and patterns for designing and writing code that can evolve more quickly and easily, with fewer errors, because it doesn't impede change. Now revised, updated, and expanded, Adaptive Code, Second Edition adds indispensable practical insights on Kanban, dependency inversion, and creating reusable abstractions. Drawing on over a decade of Agile consulting and development experience, McLean Hall has updated his best-seller with deeper coverage of unit testing, refactoring, pure dependency injection, and more. Master powerful new ways to: * Write code that enables and complements Scrum, Kanban, or any other Agile framework * Develop code that can survive major changes in requirements * Plan for adaptability by using dependencies, layering, interfaces, and design patterns * Perform unit testing and refactoring in tandem, gaining more value from both * Use the "golden master" technique to make legacy code adaptive * Build SOLID code with single-responsibility, open/closed, and Liskov substitution principles * Create smaller interfaces to support more-diverse client and architectural needs * Leverage dependency injection best practices to improve code adaptability * Apply dependency inversion with the Stairway pattern, and avoid related anti-patterns About You This book is for programmers of all skill levels seeking more-practical insight into design patterns, SOLID principles, unit testing, refactoring, and related topics. Most readers will have programmed in C#, Java, C++, or similar object-oriented languages, and will be familiar with core procedural programming techniques.
Cover Title Page Copyright Page Acknowledgments Contents Introduction PART I: AGILE DEVELOPMENT FRAMEWORKS Chapter 1 Introduction to Scrum Scrum versus waterfall Roles and responsibilities Product owner Scrum master Development team Artifacts The Scrum board Charts and metrics Backlogs The sprint Release planning Sprint planning Daily Scrum Sprint demo Sprint retrospective Scrum calendar Agile in the real world Rigidity Untestability Metrics Conclusion Chapter 2 Introduction to Kanban Kanban quickstart The information radiator Limiting work in progress Protecting against change Defining “done” Event-driven ceremonies Classes of service Service level agreements Class WIP limits People as a class of service Analysis Lead time and cycle time Cumulative flow diagrams Conclusion PART II: FOUNDATIONS OF ADAPTIVE CODE Chapter 3 Dependencies and layering Dependencies A simple example Framework dependencies Third-party dependencies Modeling dependencies in a directed graph Managing dependencies Implementations versus interfaces The new code smell Alternatives to object construction Resolving dependencies Dependency management with NuGet Layering Common layering patterns Cross-cutting concerns Asymmetric layering Conclusion Chapter 4 Interfaces and design patterns What is an interface? Syntax Explicit implementation Polymorphism Adaptive design patterns The Null Object pattern The Adapter pattern The Strategy pattern Further versatility Duck-typing Mixins Fluent interfaces Conclusion Chapter 5 Testing Unit testing Arrange, Act, Assert Test-driven development More complex tests Unit-testing patterns Writing maintainable tests The Builder pattern for tests The Builder pattern Clarifying unit test intent Writing tests first What is TDD? Test-driven design Test-first development Further testing The testing pyramid Testing pyramid anti-patterns The testing quadrant Testing for prevention and cure How do you decrease MTTR? Conclusion Chapter 6 Refactoring Introduction to refactoring Changing existing code A new account type Aggressive refactoring Red, green, refactor…redesign Making legacy code adaptive The golden master technique Conclusion PART III: SOLID CODE Chapter 7 The single responsibility principle Problem statement Refactoring for clarity Refactoring for abstraction SRP and the Decorator pattern The Composite pattern Predicate decorators Branching decorators Lazy decorators Logging decorators Profiling decorators Decorating properties and events Conclusion Chapter 8 The open/closed principle Introduction to the open/closed principle The Meyer definition The Martin definition Bug fixes Client awareness Extension points Code without extension points Virtual methods Abstract methods Interface inheritance “Design for inheritance or prohibit it” Protected variation Predicted variation A stable interface Just enough adaptability Predicted variation versus speculative generality Do you need so many interfaces? Conclusion Chapter 9 The Liskov substitution principle Introduction to the Liskov substitution principle Formal definition LSP rules Contracts Preconditions Postconditions Data invariants Liskov contract rules Code contracts Covariance and contravariance Definitions Liskov type system rules Conclusion Chapter 10 Interface segregation A segregation example A simple CRUD interface Caching Multiple interface decoration Client construction Multiple implementations, multiple instances Single implementation, single instance The Interface Soup anti-pattern Splitting interfaces Client need Architectural need Single-method interfaces Conclusion Chapter 11 Dependency inversion Structuring dependencies The Entourage anti-pattern The Stairway pattern An example of abstraction design Abstractions Concretions Abstracting capabilities The improved client Abstracting queries Further abstraction Conclusion PART IV: APPLYING ADAPTIVE CODE Chapter 12 Dependency injection Humble beginnings The Task List application Constructing the object graph Beyond simple injection The Service Locator anti-pattern Illegitimate Injection The composition root Convention over configuration Conclusion Chapter 13 Coupling, cohesion, and connascence Coupling and cohesion Coupling Cohesion Connascence Name Type Meaning Algorithm Position Execution order Timing Value Identity Measuring connascence Locality Unofficial connascence Static vs. dynamic connascence Conclusion Appendix: Adaptive tools Index A B C D E F G H I K L M N O P Q R S T U V W X About the author Survey