- Gebundene Ausgabe: 732 Seiten
- Verlag: Prentice Hall; Auflage: 1 (10. März 2006)
- Sprache: Englisch
- ISBN-10: 0131857258
- ISBN-13: 978-0131857254
- Größe und/oder Gewicht: 18,3 x 4,3 x 23,9 cm
- Durchschnittliche Kundenbewertung: 2 Kundenrezensionen
- Amazon Bestseller-Rang: Nr. 14.510 in Fremdsprachige Bücher (Siehe Top 100 in Fremdsprachige Bücher)
- Komplettes Inhaltsverzeichnis ansehen
Agile Principles, Patterns, and Practices in C# (Englisch) Gebundene Ausgabe – 10. März 2006
Wird oft zusammen gekauft
Kunden, die diesen Artikel gekauft haben, kauften auch
Es wird kein Kindle Gerät benötigt. Laden Sie eine der kostenlosen Kindle Apps herunter und beginnen Sie, Kindle-Bücher auf Ihrem Smartphone, Tablet und Computer zu lesen.
Geben Sie Ihre Mobiltelefonnummer ein, um die kostenfreie App zu beziehen.
Wenn Sie dieses Produkt verkaufen, möchten Sie über Seller Support Updates vorschlagen?
With the award-winning book Agile Software Development: Principles, Patterns, and Practices, Robert C. Martin helped bring Agile principles to tens of thousands of Java and C++ programmers. Now .NET programmers have a definitive guide to agile methods with this completely updated volume from Robert C. Martin and Micah Martin, Agile Principles, Patterns, and Practices in C#. This book presents a series of case studies illustrating the fundamentals of Agile development and Agile design, and moves quickly from UML models to real C# code. The introductory chapters lay out the basics of the agile movement, while the later chapters show proven techniques in action. The book includes many source code examples that are also available for download from the authors' Web site.Readers will come away from this book understanding *Agile principles, and the fourteen practices of Extreme Programming *Spiking, splitting, velocity, and planning iterations and releases *Test-driven development, test-first design, and acceptance testing *Refactoring with unit testing *Pair programming *Agile design and design smells *The five types of UML diagrams and how to use them effectively *Object-oriented package design and design patterns *How to put all of it together for a real-world project Whether you are a C# programmer or a Visual Basic or Java programmer learning C#, a software development manager, or a business analyst, Agile Principles, Patterns, and Practices in C# is the first book you should read to understand agile software and how it applies to programming in the .NET Framework.
With the award-winning book "Agile Software Development: Principles, Patterns, and Practices, " Robert C. Martin helped bring Agile principles to tens of thousands of Java and C++ programmers. Now .NET programmers have a definitive guide to agile methods with this completely updated volume from Robert C. Martin and Micah Martin, "Agile Principles, Patterns, and Practices in C#."
This book presents a series of case studies illustrating the fundamentals of Agile development and Agile design, and moves quickly from UML models to real C# code. The introductory chapters lay out the basics of the agile movement, while the later chapters show proven techniques in action. The book includes many source code examples that are also available for download from the authors' Web site.
Readers will come away from this book understanding Agile principles, and the fourteen practices of Extreme Programming Spiking, splitting, velocity, and planning iterations and releases Test-driven development, test-first design, and acceptance testing Refactoring with unit testing Pair programming Agile design and design smells The five types of UML diagrams and how to use them effectively Object-oriented package design and design patterns How to put all of it together for a real-world project
Whether you are a C# programmer or a Visual Basic or Java programmer learning C#, a software development manager, or a business analyst, "Agile Principles, Patterns, and Practices in C#" is the first book you should read to understand agile software and how it applies to programming in the .NET Framework.
Welche anderen Artikel kaufen Kunden, nachdem sie diesen Artikel angesehen haben?
There is one thing I don't like though and that is a pity: The author states that he has a strong Java background and just ported the code from his previous book to C# and labeled it as such to gain the attention of the .NET programmers out there. While that certainly worked for me, it took not long to realize that he is really not a native "sharper". The code examples constantly deny common naming conventions (e.g. interfaces in C# always begin with the letter I; we have lambda expressions...) which makes them hard to read and also makes the author somehow untrustworthy, especially when he is talking about clean code and refactorings.
Given that, I would definitely recommend the book to learn about agile principles and concrete design patterns but not for new C# programmers and not as a code reference.
Liest sich sehr kurzweilig und ist inhaltich absolut empfehlenswert.
Die hilfreichsten Kundenrezensionen auf Amazon.com (beta) (Kann Kundenrezensionen aus dem "Early Reviewer Rewards"-Programm beinhalten)
The book is worth a read because it contains some valuable information. Especially the chapters on the SOLID principles, the component packaging principles (analogous to the SOLID principles, but for components), and the chapter on component and class metrics that was very interesting. Those chapters are well written and I think demonstrate the principles well. Granted, you can probably find this information elsewhere. Probably why I rated the book a 3 instead of a 4.
In addition, the refactoring chapter was pretty good, too. And there were several chapters that covered the basic, most common design patterns that most programmers should know if they already don't.
The book was written in 2007, and so is dated. For example, there is no use of generics anywhere in the sample code. IIRC, generics came out just after this book was published. Therefore, some of the examples given don't translate quite as well to the features now available in C#. Secondly, you can tell the examples are translated from Java. The original Clean Code book written by Robert C Martin is in Java--as that is a language the he programs in often. His son, who helped write this book, does program in C# (and probably Java)--but you can tell the examples still have Java programming idioms in them. (Full disclosure, I'm not a huge Java fan--that's my personal preference.) More importantly, however, is that Java has it's own coding conventions adopted by those who program in it, e.g. getSomething, setSomething (since Java doesn't have syntactic sugar for getters/setters), no 'I' in interfaces, it's just a List, not an IList--unlike C#. But the authors routinely ignore C# coding conventions in their examples, such as using camel case for methods and preferring getXXXX/setXXXX over .NET properties, and not prefixing interfaces with 'I'. For the record, I agree with the authors that prefixing interfaces with 'I' should not be necessary, nonetheless, it's a .NET coding convention.
What I'd really like to see is the author update this book, including all the examples. Show us how you would write SOLID code using .NET generics; the role that lambdas play when writing SOLID code; and use .NET coding conventions throughout.
Other than that, as I said at the beginning, the book still has a lot of good information in it that makes it worthwhile to pick up and read.
The good points:
The book has aspects that will keep this book on the shelf, ready to crack open at a moment's notice: justification for denouncement of excessive documentation and diagramming, encouragement of realistic / sustainable work hours, explanations of design patterns in a (loosely) C# context, explanations of agile PPPs from an angle I had not previously considered, demonstrations on how to produce reliable software development estimates, emphasis on test-first design / development as the foundation on which this book is written, the list could go on (but not much further).
The stale points:
To be fair, any language specific examples will become stale pretty quickly, as technology is always advancing at breakneck speeds. The Author(s) do state early on that they're not telling you "how to do C#!"; rather, they're extending a lofty olive branch to the .NET developer community (thanks....?) and wanting to discuss more language agnostic topics (refer to the good points listed above). A lot of reviewers point out that C# is really just a namesake in this book. Therefore, let's just go ahead and say it: the C# is really stale; there are such amazing things C# can do now that have made the language much more expressive, maintainable, dynamic, and capable. Funnily enough, some of these advancements were called for in Jack Reeves' article included in Appendix B of this book when he was referring to C++'s success at its onset.
In a nutshell:
This book is worth having around. I will refer back to this book often for inspiration on various design patterns. However, I would like a more modern C# publication on implementing these patterns in a way that actually leverages the language and avoids (now) known anti-patterns. It would be grand if someone took the content of this book to the next level with more modern insight.
After having finished Agile C#, I experienced enlightenment in some ways, but at the same time, I need a C# palate cleanser.
One of the things I like about this is that it not only discusses Agile in C#, but it also has real, honest to goodness code examples. It also has more real-world examples of SOLID and non-SOLID code, with explanations of how to fix the non-SOLID code.
If I were to note one critical thing, I would like to see how SOLID ties in with Design Patterns.
All in all, if you're a programmer at any level, I would seriously recommend adding this to your library. Not necessarily for the version of C# (since that changes), but for the concepts therein.
I feel the take away from the chapters I read is , "Code today as if you're delivering tomorrow , design as if you're have a 5 year project" and you will get it done right.
I've read just about every review of this book and all the people who rated this book low (3 and lower) completely missed the entire essence of why this book was written. Their complaints were "not enough C#" and "how dare you not use generics, C# programmers should know better!" This book is not about teaching you how to program in C#; there's a ton of print out there to do that. This book is about teaching you how to approach coding, and what they teach can be applied to just about any language out there (well, OO is probably more suitable).
I've been coding professionally for 13 years and 8 more as a hubby before that. I've written some really, really horrendous code, and I got to where I am today by always reflecting back on all of my work. Over time I learned what to do and what should be avoided and when I first discovered Gang of Four's design patterns book, every single pattern I've already used somewhere in my own code.
Currently being a technical team lead on the project, I'm now brushing up on a lot of material regarding design, agile practices, architecture and so on. My goal is not to teach the team solely from my self-taught know-how. Instead, I'm reading all these books because I want to combine my experience with more authoritative voices on the subject and the views of other, more-experienced engineers.
Most of this book was nothing new to me. I've been already practicing a lot of the techniques and habits that the author recommends. However, having said that, there are still quite a few things that authors helped me see in a different light and I've already taken these lessons back to the team. No matter how much experience you have, if you read this book (keeping open mind and not with goal of learning C#), you will learn at least one valuable thing which will make you a better software engineer. They also helped me because their wording and examples are at a perfect level. Intermediate to experienced programmers (i.e. those with enough experience to know how much bad code really costs, in terms of money, time and blood pressure) can easily relate to what is being said and the examples they use are not standard, fictional, non-realistic "animal, cat, dog". Their examples helped me communicate with other team members to whom I wanted to convey some of the concepts behind agile, OOD approach and SOLID principles.