Object-oriented programming is the foundation of nearly all modern software languages, from Java and C# to Ruby and PHP5. Its powerful advantage range from productivity and maintainability to portability and reuse. But to take full advantage of objects, it's not enough for programmers to apply rote techniques: they must master a truly object-oriented thought process. Thousands of developers have gained that deep mastery from Matt Weisfeld's Object-Oriented Thought Process. Now, Weisfeld has extensively updated this solutions-oriented primer to reflect the newest languages, applications, and program design techniques. Through ingenious code examples written in Java, current .NET languages, and Objective-C 2.0, Weisfeld illuminates concepts ranging from abstraction to public and private classes. He offers deep insight into code reuse and framework development, and helps programmers build objects that work well with databases and distributed systems. New coverage includes: * A revamped chapter on portable data, with new coverage of XML, SOAP, JSON and related technologies * Extensive updates to the chapter on persistent data in networked environments * An all-new chapter on web services and mobile app development * Coverage of unit testing in every chapter, reflecting its crucial importance to object-oriented design This edition also supports instructors with extensive downloadable instructional materials.
Matt Weisfeld is a college professor, software developer, and author based in Cleveland, Ohio. Prior to teaching college full time, he spent 20 years in the information technology industry as a software developer, entrepreneur, and adjunct professor. Weisfeld holds an MS in computer science and an MBA. Besides the first three editions of The Object-Oriented Thought Process, he has authored two other software development books and published many articles in magazines and journals, such as developer.com, Dr. Dobb’s Journal, The C/C++ Users Journal, Software Development Magazine, Java Report, and the international journal Project Management.
1. Introduction to Object-Oriented Concepts
2. How to Think in Terms of Objects
3. Advanced Object-Oriented Concepts
4. The Anatomy of a Class
5. Mastering Inheritance and Composition
6. Frameworks and Reuse: Designing with Interfaces and Abstract Classes
7. Building Objects and Object-Oriented Design
8. Object-Oriented and Object Based Languages
9. Objects and Portable Data: XML, SOAP, and JSON
10. Persistent Objects: Serialization, Marshalling and Relational Databases
11. Objects in Web Services and Mobile Apps
12. Design Patterns
Appendix A. Code Examples