Detroit.Code() Sessions tagged fundamentals

Design for Non-Designers from a Non-Designer

Elegant design requires talent, but talent is not a prerequisite for avoiding bad design. If you lack artistic touch and prefer rules and logic over the ethereal art form, the fundamental tenets of composition can enable you to apply Design as a programming paradigm. Spend an hour with a coder learning the logic of design--hacking pixels instead of bits--and free yourself of your excuse for horrible designs.

Speaker

Jay Harris

Jay Harris

Problem Solver, Arana Software

Establishing a SOLID Foundation – An Introduction to Software Design

Are you tired of opening classes that have hundreds or thousands of lines of code? Do you feel that you spend too much time trying to understand how something (that should be simple) in your application works? Are you frustrated with following spaghetti-like logic through your code’s core?

In this presentation, we’re going to examine a set of design principles that yield easy-to-read, decoupled code referred to as SOLID. To start, we’ll explore the history of SOLID and establish the problems it solves. From there, we’ll dive into the different principles (Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion) by defining what each principle means, how to spot violations, and how to resolve them.

Intended for developers wanting to learn more about software design, by the end of the presentation, you should be able to describe what SOLID code is. In addition, you should also be able to spot trouble areas in your codebase and have the tools to undo the damage.

Speaker

Cameron Presley

Cameron Presley

Senior Software Engineer, Pilot Flying J