tags:

views:

166

answers:

6

hi, as the question says, i wish to learn OOP in c#. I am aware of the basics of OOP such as what does class means, what is object, and all 6-7 features of OOP. What i dont understand that how to make use this in real application? I get stuck when it comes to using all these features during development (coding).

I have code in VB.NET and now would be doing in C#. I have use VS 2005 and now using VS 2008.

Please suggest me some very good resource to learn (& especially i could implement it also) OOP in C#

thanks

A: 

Personally, I found the classic Design Patterns book quite an eye-opener when it comes to object-oriented design. From that, all else follows :)

It predates C# with about 5 years, so you will have to look at C++ and SmallTalk code instead, but learning OO is really not about the language, but rather the mindset.

Many people find that Head First Design Patterns is a more digestible alternative, but I have only flipped through it myself (it looks pretty good, though).

Mark Seemann
I'm one of those that would rather recommend the Head First book than the classical Design Patterns by Eric Gamma book. The latter is very heavy to digest.
Clean
+1  A: 

Maybe design patterns are the second thing to learn in OO, after you sort of master the basic principles. But in each case you should know them to recognize them and to avoid inventing them again.

And this one is especially nice, be it in Java. Even though, there exists many C# variants now, I still think it's important to know the classics, and these are in this book, sort of a popular translation of the GoF-pattern book.

alt text

Peter
+2  A: 

Applying Domain-Driven Design and Patterns: With Examples in C# and .NET

Applying Domain-Driven Design and Patterns is the first complete, practical guide to leveraging patterns, domain-driven design, and test-driven development in .NET environments. Drawing on seminal work by Martin Fowler and Eric Evans, Jimmy Nilsson shows how to customize real-world architectures for any .NET application. You'll learn how to prepare domain models for application infrastructure; support business rules; provide persistence support; plan for the presentation layer and UI testing; and design for service orientation or aspect orientation.

David-79
+1  A: 

If you are an e-book fan then I would definitely read S.O.L.I.D principles from Pablo of Los Techies.

Kane
A: 

Do you want to learn the core concepts of OOP or get your hands dirty and write an application? The principles of OOP are fairly well covered on the Wikipedia article and concepts like inheritence, encapsulation, polymorphism, composition will be the same as those in VB.NET as the two languages have to adhere to the CLS.

Name a feature in VB.NET that you already know and in C# the difference will be a keyword or three, curlies instead of begin/end.

Chris S
+2  A: 

Although not the book's only focus, I found Agile Principles, Patterns, and Practices in C# really useful for OOD/OOP. It covers SOLID design principles in an accessible and very readable way. Similar content is also available at the author's (Robert C. Martin) web site, Object Mentor.

Agile Principles, Patterns, and Practices in C# cover

Graham Miller
I found this book very helpfull.
Clean