Discussing the history of object-oriented programming and the difference between Object-Oriented UX. Exploring the concept of inheritance in object-oriented programming. Exploring the differences between objects and classes in object-oriented programming. Highlighting the similarities between OOP and OUX and the importance of considering permissions and visibility. Exploring the use of diagrams and matrices to analyze relationships between objects. Discussing the benefits and potential issues of inheritance in OOP and OOUX. Exploring the concept of polymorphism and involving developers in OUX workshops. Exploring database structures and the importance of language and terminology in effective communication.
Understanding inheritance concept is crucial for effective collaboration between developers and UX designers.
Well-designed legacy systems can help scale and expand software projects by providing a solid foundation.
The ORCA process aligns with object-oriented programming concepts, enabling smooth communication and collaboration in software development projects.
Deep dives
The podcast episode discusses the concept of language and the importance of communication in the field of UX design and development.
The episode emphasizes the need for effective communication between UX designers and developers and how the Optidora UX and ORCA process provide a common language for both parties to work together. It highlights the importance of understanding object-oriented programming concepts and terminology to foster better collaboration between developers and UX designers.
The episode explores the concept of inheritance in object-oriented programming and its relevance to UX design.
It explains the difference between class-based inheritance and instance-based inheritance, emphasizing the importance of understanding the inheritance concept to effectively design and communicate about objects in UX design. The episode also touches on the benefits and challenges of using inheritance in development projects.
The episode discusses the role of legacy software and the potential benefits of creating good legacy systems.
It delves into the idea that a well-designed legacy system can actually help in scaling and expanding software projects, as it provides a strong foundation and efficient building blocks for future development. The episode also highlights the importance of clear communication and understanding between developers and UX designers to create effective legacy software.
The episode explores the similarities and differences between the ORCA process and object-oriented programming principles.
It discusses how the process of identifying objects, defining relationships, and specifying attributes and behaviors in the ORCA process align with the concepts of objects, inheritance, and object relationships in object-oriented programming. The episode emphasizes the value of a common language and understanding between UX designers and developers to facilitate smooth communication and collaboration in software development projects.
Local objects and composition with dependency
Local objects, also known as composition with dependency, are tightly coupled to their parent object and only exist within the context of the parent. These objects have a high level of dependency on the host and are not meaningful outside of that context. A local object can be seen as part of the parent object's life cycle and is typically used to represent a 'has-a' relationship. An example of a local object is a recipe step, which is only relevant within the context of a recipe and does not make sense on its own.
Junction objects and tree systems
Junction objects are used to establish many-to-many relationships and create a tree system of specific instances. They simplify complex relationships by breaking them down into one-to-many relationships within the context of the junction object. Tree systems, facilitated by junction objects, provide a hierarchical structure where objects become more specific as you move down the tree. An example of a junction object is a movie at a theater, where the junction object holds showtimes, linking the movie and theater objects. This creates a tree system from movie to movie at a theater and further to specific showtime objects.
Richard Gower is Vice President (Computing, Data Science & Technology) at DeLoach Engineering Science, PLLC & was the first member of Cohort 8 of The Object-Oriented UX Masterclass Certification to become a Certified OOUX Strategist. In this episode of the podcast, Sophia & Richard discuss what it was like when object-oriented programming was invented, why "legacy" has one meaning in life & another in software, & why we've kind of been using the word "inheritance" wrong this whole time.