Super Power Dojo ObjectOriented Design: Deep Dive
Objects are fundamental to most modern programming languages, but many developers have not had the opportunity to explore OO design from the ground up. In this session we will introduce the fundamental concepts you need to make better choices in your designs to help your software absorb business and technical change.
This will be a fundamental but challenging discussion suitable for people of various backgrounds.
Selecting a programming languages introduces opportunities and limitations. When you have access to objects, there are many choices you can make, but some are less obvious than others. It's helpful to be reminded of what the various techniques provide, how to overcome language limitations, and how encapsulation, modularity, shared types, shared behavior, and specialization allow you to build flexible and extensible software.
We will focus on Java but will compare it to JavaScript, TypeScript, and Python.
About Brian Sletten
Brian Sletten is a liberal arts-educated software engineer with a focus on forward-leaning technologies. His experience has spanned many industries including retail, banking, online games, defense, finance, hospitality and health care. He has a B.S. in Computer Science from the College of William and Mary and lives in Auburn, CA. He focuses on web architecture, resource-oriented computing, social networking, the Semantic Web, AI/ML, data science, 3D graphics, visualization, scalable systems, security consulting and other technologies of the late 20th and early 21st Centuries. He is also a rabid reader, devoted foodie and has excellent taste in music. If pressed, he might tell you about his International Pop Recording career.
More About Brian »