Hi All,

I would appreciate if someone could please answer to the following queries.

  1. Difference between "new" and "new virtual" when deriving classes from other classes.
  2. Difference between Abstarction and Encapsulation (with example, if possible).
  3. Types of constructors and their implementations (when and how to use).
  4. Different types of locking mechanisms and/or deadlock prevention ways and when to use what.
  5. Different types of design patterns, when to use what and their usage (with example, if possible).
  6. Difference between async and await and when to use them (with example, if possisble).
  7. What other topics do you suggest to prepare for .NET, C#, OOP, WPF and SQL?

I know these are multiple topics under a single thread but you may please answer to the ones which you think would be beneficial.

Thanks everyone.

4 Months
Discussion Span
Last Post by KM499


  1. async just so happens I'm reading this book for the moment. Suggest you do the same.
Votes + Comments
Of the 7 questions, I figure one book at least for each question. I wonder if they want all the information condensed to one paragraph each?

These sound like school/class questions. All of them can be answered by reading the appropriate books and/or internet articles. We are not here to do your homework for you. :-(


While those sound like a collection of questions from a programming class, I see your prior posts so you've been at this for years. By now you know how to do research but this is not why I write. I think you could devote a chapter or an entire book to answer each question.

That out of the way, why these questions? Let's hear more about how these came about.


Thanks ddanbe for the help and suggestions on reading the book, its really useful.

For rubberman and rproffitt, I would just say that these might seem to you as basic questions and I agree that I have been doing this since 7 years on Daniweb but instead of seeing your unnecessary "explaination" on this post, I expected at least some sensible answers because I thought to create a thread to have some of the basics under one umbrella, but thanks anyways for posting.

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.