#757 – Books on Object-Oriented Programming
January 14, 2013 5 Comments
Since C# is an object-oriented language, it can be helpful to study object-oriented design and programming techniques. Here are some good books that focus on object-oriented design or programming.
- Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd edition). Craig Larman. 2004.
- Beginning C# Object-Oriented Programming. Dan Clark. 2011.
- Design Patterns: Elements of Reusable Object-Oriented Software. Gamma, Helm, Johnson, Vlissides. 1994.
- Designing Object-Oriented Software. Wirfs-Brock, Wilkerson, Wiener. 1990
- Growing Object-Oriented Software, Guided by Tests. Freeman, Pryce. 2009.
- Head First Object-Oriented Analysis and Design. McLaughlin, Pollice, West. 2006.
- An Introduction to Object-Oriented Programming (3rd edition). Timothy Budd. 2001.
- Object-Oriented Analysis and Design with Applications (3rd edition). Booch, Maksimchuk, et al. 2007.
- Object-Oriented Design and Patterns. Cay S. Horstmann. 2005.
- Object-Oriented Software Construction (2nd edition). Bertrand Meyer. 2000.
- The Object-Oriented Thought Process (3rd edition). Matt Weisfeld. 2008.
- OOP Demystified. Keogh, Giannini. 2004.
- Principles of Object-Oriented Analysis and Design. Martin, Odell. 1993.
The Object-Oriented Thought Process is one of the best programming books I’ve ever read.
Could you please recommend a book about Design Pattern ?
The best is https://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612
Can you please recommend any book for algorithm ?
I would just search on Amazon–there are quite a few general books on algorithms listed there. I can’t vouch personally for any of the ones that show up at the top of the list, but many of them look worth a visit. If you’re looking for core algorithms, nothing beats “The Art of Computer Programming”, by Donald Knuth. See https://en.wikipedia.org/wiki/The_Art_of_Computer_Programming#Volume_1.C2.A0.E2.80.93_Fundamental_Algorithms