hello, i am beginner C# programmer, i think it's time that i write full functional application, i begin, but it was very hard to planning and implemntation. if you know some resource about this please help me :) will be versy usefull project managment resources for beginners also. thansk friends!
It's very hard to teach software design to a beginner.
I recommend picking up a beginning book on c# and learning some of the language first. Then begin writing some small programs. After that, you can tackle design.
It would be hard to go wrong by going through every page in the book, "Head First C#."
hello robert! i know C# very well and i read advanced books about C#, but it's for me to design complex application, thanks
I would have to concur with the OP that it would be helpful to have a book that took you through a complete project from start to finish. I've read a half-dozen C# books and while I prefer learning the syntax with short examples that don't carry on for chapters-on-end, once you grasp the language there's not much to help in the way of structuring them from start to finish (aside from vanilla, unspecific design patterns).
Two books I found helpful were the following:
- Microsoft .NET: Architecting Applications for the Enterprise (Esposito D., Saltarello A)
- Microsoft Application Architecture Guide, 2nd Edition
The second book can also be read online here.
I recommend Extreme Programming Adventures in C#. It goes through a process of building a useful application (a text editor that makes writing xml easier) as the authors were also learning C# syntax and features. It is easy to read and on top of C# there's lots of great ideas about extreme programming and test driven development.
Try Beginning C# 2008 Objects: From Concept to Code. Walks you through creating an application from an object-oriented perspective and goes all the way from creating UML to actual coding.
Good book of complete project and tutorial at the same time is a Dissecting a C# Application: Inside SharpDevelop about SharpDevelope IDE.
It's not very trivial (like Troelsen for example) but if you have some background it's very nice book to look at the development of complete IDE.
After reading a couple of books on .Net, THE best book that I can suggest for learn about how to make a good design is Brownfield application development in .Net
I'm sure that you will not regret it.
You will learn more about Object Oriented than many other books. You will learn Dependency Injection, Software decoupling and many other things that will made you a better programmer.
The book is available on manning.com and will be soon available for hard copy at amazon.
I see this question several times a day from newbie’s to professionals. I have listed the best C# books that I have read so far.
- ECMA-334 C# Language Specification. – FREE book. This is probably the best place to start. Read it backwards and forwards and you can even request a hard copy.
- Absolute Beginners Guide to C Sharp 2nd Edition – Used this early on and found it very useful even if its game programming.
- C-Sharp 2.0 - The Complete Reference, 2nd Edition (McGraw-Hill, 2006) – One of the most useful books that is always with me. It contains short example code and is very well written.
- Dot Net Zero - Charles Petzold - FREE book and you should definately give it a read.
- C Sharp in Depth by Jon Skeet - Probably one of the most in depth books on C Sharp and definitely not for beginners. Jon Skeet knows C# like no other. I would consider this book the Bible of C#. If you understand 50% of this book, you have a good understanding of the language.
- CLR via C Sharp 3rd Edition – I just started reading this book and it is another book thats not for beginners. If you really want to understand the CLR then give this book a try.
Well, thats it. I hope you enjoy the books as I have spent a lot of time researching different C# books.
Murach's C# 2008 also teaches C# to beginners by building a complete example project.
Windows Forms in Action: Second Edition of Windows Forms Programming with C# also walks you through a complete Windows Forms application.