- Series: Expert's Voice in .NET
- Paperback: 384 pages
- Publisher: Apress; 2nd ed. edition (March 29, 2013)
- Language: English
- ISBN-10: 1430249358
- ISBN-13: 978-1430249351
- Product Dimensions: 7.5 x 0.9 x 9.2 inches
- Shipping Weight: 2.2 pounds (View shipping rates and policies)
- Average Customer Review: 24 customer reviews
- Amazon Best Sellers Rank: #179,772 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Beginning C# Object-Oriented Programming (Expert's Voice in .NET) 2nd ed. Edition
Use the Amazon App to scan ISBNs and compare prices.
The Amazon Book Review
Author interviews, book reviews, editors picks, and more. Read it now
Frequently bought together
Customers who bought this item also bought
About the Author
Daniel Clark is a Microsoft "Most Valued Professional," Microsoft Certified Trainer, Microsoft Certified Solution Developer, and Microsoft Certified Database Administrator. For the last 7 years, he has been developing applications and training others how to develop applications using Microsoft technologies. Daniel's training experience runs the gamut from training novice programmers to training experienced developers on the nuances of COM programming.
Top customer reviews
Nothing was earth shattering, the book is well written, easy to understand. I'd say for someone brushing up or just getting familiar with OOP its solid.
My one criticism is the heavy emphasis on UML. Honestly I've been working in development for over 15 years and have never seen UML practically used. Not to say some shops don't use it, but I've never seen it requested in skill sets or mentioned by recruiters or asked about it in interviews.
This book is different. It begins with the design of software systems using the Unified Modelling Language. Such high level discussions can tend to be a turn-off for many programmers in their rush to churn out code. Persist, read through the well worked out discussion case study and you will acquire a crucial foundation for truly understanding Object-Oriented Programming and appreciating the context of C# language syntax and structure when it is presented in later chapters.
C# is complex but the Author does a superb job of making many of the complexities of C# so very, very easy to understand. I cannot highlight this enough. The flow of the book from software system design ( UML ), progressing to C# syntax and fundamentals and finishing with well worked out code samples on technologies such as ADO.NET, Windows, Web Development and WCF Services enhances the entire learning experience.
This book is superb; a must-have for those new to C# Object-Oriented Programming.
Up until chapter eight, and maybe chapter nine, the title makes complete sense. A bit of OO history and major concepts get introduced, along with OO modeling via UML class and sequence diagrams. Also included, not typical for a programming book, is a discussion of requirements and business communication. All good stuff as it emphasizes design and how design ultimately translates to code. Then hands get dirty with bits in a short introduction to Visual Studio, the C# framework and the code behind creating classes, inheritance, polymorphism, interfaces, methods, events and generics. Everything remains pretty basic in this part of the book. Principles such as SOLID or design patterns don't appear, so this book really covers the extreme basics of object-oriented programming and design, which makes a good starting point for beginners to these topics.
Up to this point the book definitely focuses on Object-Oriented programming. One may expect further elaboration or examples on the concepts discussed so far. Instead, chapter 10 veers off into a cursory discussion of ADO.NET. Here the book, for better or worse, transforms into an introduction to application architecture and development. The book's focus also seems to change into building a working application with various technologies. The remaining chapters discuss the various levels needed for a basic loosely coupled application. ADO.NET provides the data access layer. WPF provides the User Interface layer. For some reason extremely high-level discussions of Silverlight and Windows Communication Foundation (WCF) sneak in. They provide interesting asides to the topic at hand, but they also seem a little out of place given the context. These remain the book's weakest sections as the chapters only give a taste of each technology, all of which could easily fill books in and of themselves. The final chapter provides the code for a full, though by no means production-ready (as stated), application that more emphasizes application architecture, ADO.NET and WPF than the Object-Oriented principles discussed in the book's first sections. Those coding this application by hand (definitely a worthwhile experience) will find a few small errors in the book's code that a look at the data schema will resolve.
Strangest of all are the appendices that discuss the basics of C# and "Fundamental Programming Concepts." If this is a beginning C# book, shouldn't this information appear earlier, maybe following chapter 5? This begs the question whether this book intended to be a beginning C# book or a beginning C# Object-Oriented programming book. Taken as a whole, its structure seems confusing. Especially since the Introduction says that the target audience includes programmers who want "to gain a foundation in object-oriented programming along with the C# language basics." It succeeds in the former but not in the latter. As such, this is not really a beginning C# book, though it seems to want to be one.
The book definitely includes a lot of useful information and programmers with some experience can learn a great deal. Though absolute beginners to programming should approach this book with caution as it doesn't really cover the basics. Also, those looking for a detailed introductory treatment of Object-oriented principles may not find what they want here - or they may want to bail after chapter eight or nine and seek more detailed sources. Still, the book has it uses for junior programmers, especially those working with WPF or XAML-based development. Ultimately, the curious should examine this book's table of contents to determine if it covers what they really want to learn.
This book gives an ok introduction to C#, but it is somewhat shallow and leaves a lot of stuff unsaid. I would have cut down on some of the excercises and filled up with more details, but that is my preference.
This book is no different, but packed more of new information and is using new technologies to present the topic and complete the application. I specially liked the introduction to WCF and silverlight. WCF is a confusing topic for me, I have 2 books on it. But Dan's explanation on WCF is straight forward, so the beginner reader won't be confused unlike me when I first started understanding WCF.
If you have the basic knowledge of programming but new to OOP, I suggest you grab this book and complete the application. It won't make you the best or expert programmer, but will give you enough wisdom to tackle your next small project, from concept to code.
While I may disagree with some of the "logic" programmers use in their development, the way in which Clark rationalizes decisions is very clear. The graphics are easy to understand, and his explanations provide insight into a world that is often "murky" to the outsider.
An excellent purchase.