Design Patterns: S.O.L.I.D. Overview

Please see my other Design Pattern articles. Ensuring software remains understandable, flexible, and maintainable In response to common design difficulties inherit within many software systems, a series of design patterns were integrated together to form the acronym, S.O.L.I.D., which representing a specific principle. In addition to producing programming code and architecture which is understandable, flexible,…

OOP: Class Design – Step 3 – Encapsulation

Please see my other Object-Oriented Programming (OOP) articles. Leveraging Encapsulation to Protecting Data & Behavior Implementation With my class requirements defined in my Class Design – Step 1 – Requirements article, I’m now ready to define the details of my Employee class. As demonstrated in my Inheritance article, I designed an Employee class which serves…

OOP: Class Design – Step 2 – Naming Convention

Please see my other Object-Oriented Programming (OOP) articles. Using Object-oriented Programming (OOP) to Design Robust Classes At the beginning of a software project, ensure you capture requirements in a manner which developers may easily interpret. Stating requirements using a story format allows users and actions to be clearly identified. When telling the story, ensure you…

OOP: Class Design – Step 1 – Requirements

Please see my other Object-Oriented Programming (OOP) articles. Using Object-oriented Programming (OOP) to Design Robust Classes At the beginning of a software project, ensure you capture requirements in a manner which developers may easily interpret. Stating requirements using a story format allows users and actions to be clearly identified. When telling the story, ensure you…

OOP: Abstract Classes vs Interfaces

Please see my other Object-Oriented Programming (OOP) articles. Knowing How to Leverage Abstractions Topic Abstract classes Interfaces Implementation details: Some members (methods). No. Fields: Yes No. Inherit from: Abstract class, interface Interface only. Members can have access modifiers: Yes. Abstract members private by default. No. Interface members public by default. Implementation Details: Abstract Classes As…

OOP: Polymorphism

Please see my other Object-Oriented Programming (OOP) articles. Leveraging the power of Object-Oriented Programming with Polymorphism Related to inheritance, polymorphism illustrates a powerful advantage OOP over procedural programming. It allows classes created to standardize attributes and behaviors, or provide a consistent interface for objects to later use when instantiated. The example below demonstrates a common…

Object-Oriented Programming (OOP)

Please see my other Web Development articles. OOP: Encapsulation, Inheritance, Polymorphism, Composition Object-oriented Programming (OOP) provides the most feature-rich, maintainable, feature-rich way of programming applications by levering the following features. (use table to link to each article listed above). Please see my other Web articles. Object-Oriented Programming Abstract Classes vs Interfaces Class Design – Step…

OOP: Encapsulation

Please see my other Object-Oriented Programming (OOP) articles. Leveraging Encapsulation to Protecting Data & Behavior As demonstrated in my Inheritance article, I designed an Employee class which serves as a parent class for the Supervisor class. As you can see, the Employee class contains data and behaviors common to all types of employees, which the…

OOP: Class Inheritance

Please see my other Object-Oriented Programming (OOP) articles. Leveraging Inheritance for Code-Reuse & Maintainability As demonstrated by my Object-Oriented Programming (OOP) article, in addition to Encapsulation, Polymorphism (link), and Composition (link), OOP provides a powerful mechanism for reusing code and easier maintainability by allowing common class attributes and behaviors to be defined within a parent…