Object-Oriented Programming

In this page:
A general textbook on O-O programming languages:
- I. Craig. The Interpretation of Object-Oriented Programming Languages. New York: Springer-Verlag, 2000.
Online Glossary
Introduction to OOP
- Rebecca Wirfs-Brock, Brian Wilkerson, Lauren Wiene. Designing Object Oriented Software. Upper Saddle River: Prentice Hall PTR, 1990.
- B. Meyer. Object-oriented software construction,
2nd Edition. Upper Saddle River: Prentice Hall, 1997.
Object-oriented analysis & design methods
- I. Graham. Object-oriented Methods. Harlow: Pearson Education Ltd., 2003.
| E.W. Dijkstra. A Discipline of Programming. Prentice Hall, 1976. |
| D.L. Parnas. "On the Criteria To Be Used in Decomposing Systems into Modules".Communications of the ACM, Vol. 15, No. 12 (Dec. 1972), pp. 1053–1058 |
| P. Clements, D. Parnas, D. Weiss. "The Modular Structure of Complex Systems". IEEE Trans. Software Engineering, Vol. SE-11, No. 3 (Mar. 1985). |
| A. Taivalsaari. "On the Notion of Inheritance". ACM Computing Surveys, Vol. 28, No. 3 (Sep. 1996), pp. 438–479. |
| L. Cardelli, P. Wegner. "On Understanding Types, Data Abstraction, and Polymorphism". ACM Computing Surveys, Vol. 17, No. 4 (Dec. 1985). |
| D.R. Musser, A.A. Stepanov. "Algorithm-Oriented Generic Libraries". Software Practice and Experience, Vol. 24, Vol. 7 (Jul. 1994). |
| M. Wolczko. "Encapsulation, Delegation and Inheritance in Object-Oriented Languages." IEE Software Engineering J., Vol. 7, No. 2 (Mar. 1992), pp. 95–101. |
See separate pages:
O-O Analysis
- Martin Fowler. "Is There Such A Thing as Object Oriented Analysis?" Distributed Computing (Oct. 1999).
- Martin Fowler. Analysis Patterns. Addison-Wesley, 1997.
Aspect-Oriented Programming
- G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C.V. Lopes, J. M. Loingtier, J. Irwin. "Aspect-Oriented Programming". Proc. 11th European Conf. Object-Oriented Programming—ECOOP, Jyvėskylė, Finland. Lecture Notes in Computer Science 1241. Berlin: Springer-Verlag, 1997.
O-O Application Frameworks
- M. Fayad, D.C. Schmidt. "Object-Oriented Application Frameworks". Guest editorial, Communications of the ACM, Vol. 40, No. 10 (Oct. 1997).
- J. Van Gurp, J. Bosch. "Design, implementation and evolution of object oriented frameworks: concepts & guidelines." Software Practice and Experience, Vol. 31, No. 3 (Mar. 2001), pp. 277--300.
- Object-oriented frameworks (Ralph Johnson)
- W. Pree. "Meta Patterns—A Means For Capturing the Essentials of Reusable Object-Oriented Design." Proc. 8th European Conf. Object-Oriented Programming—ECOOP, Lecture Notes In Computer Science, Vol. 821, pp. 150-162. London: Springer, 1994.
Programming languages
In C we had to code our own bugs. In C++ we can inherit them.
C lets you shoot yourself in the foot rather easily. C++ allows you to reuse the bullet!
- B. Stroustrup. The C++ Programming Language, special edition. Reading: Addison Wesley, 2000.
- B. Stroustrup. The Design and Evolution of C++. Reading: Addison-Wesley, 1994.
- James Gosling, Bill Joy, Guy L. Steele II. The Java Language Specification, 3rd ed. Sun Microsystems, 2005.
- A. Goldberg, D. Robson. Smalltalk-80: The Language. Reading: Addison-Wesley, 1989.

- M. Abadi, L. Cardelli. A Theory of Objects. Berlin: Springer, 1996.
- R.H. Bourdeau, B. H. C. Cheng (1995). "A Formal Semantics for Object Model Diagrams." IEEE Trans. Software Engineering Vol 21, No. 10 (Oct. 1995), pp. 1—25.
- B.H.C. Cheng, Enoch Y. Wang (2002). "Formalizing and Integrating the Dynamic Model for Object-Oriented Modeling." IEEE Trans. Software Engineering Vol 28, No. 8 (Aug. 2002), pp. 747–762.
- Amnon H. Eden. "A Theory of Object-Oriented Design." Information Systems Frontiers, Vol. 4, No. 4 (Nov.-Dec. 2002), pp. 379—391. Kluwer Academic Publishers.
- D. Jackson. "Alloy: A Lightweight Object Modelling Notation." ACM Trans. Software Engineering and Methodology, Vol. 11, No. 2 (Apr. 2002), pp. 256—290.
Overview
- R. Wieringa (1998). "A Survey of Structured and Object-Oriented Software Specification Methods and Techniques". ACM Computing Surveys, Vo. 30, No. 4 (Dec. 1998). New York: Association for Computing Machinery.
Notations
All models are wrong; some of them are useful
-- G. Box
- LePUS3—Language for Patterns Uniform Specification
- UML—The Unified Modeling Language
- Unified Modelling Language, Ver. 2.0 (Object Management Group)
- IBM Page on Rational
- James Rumbaugh, Ivar Jacobson, Grady Booch. The Unified Modeling Language Reference Manual, 2nd Edition. Reading: Addison-Wesley, 2004.
- D. Thomas. "MDA: Revenge of the modellers or UML Utopia?" IEEE Software, Vol. 21, No. 21 (May/Jun. 2004), pp. 15–17.
- C. Kobryn (1999). "UML 2001: A Standardization Odyssey". Communications of the ACM, Vol. 42, No. 10 (Oct. 1999
-
- Alex E. Bell. "Death by UML Fever." ACM Queue, Vol. 2, No. 1 (March 2004),
- Bertrand Meyer. UML—The Positive Spin. American Programmer, Vol. 10, No. 3 (Mar. 1997).
- OMT
- Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal. Pattern-Oriented Software Architecture—A System of Patterns. New York: Wiley and Sons, 1996.
Use Cases
- I. Jacobson. Object Oriented Software Engineering: A Use Case Driven Approach. Reading: Addison-Wesley, 1993.
CRC Cards
- Kend Beck, W. Cunningham (1989). "A Laboratory For Teaching Object-Oriented Thinking". Proc. of OOPSLA, October 1–6, 1989, New Orleans, Louisiana.In:
SIGPLAN Notices, Vol. 24, No. 10 (Oct. 1989).
Law of Demeter
|