Professional Topics

A few topics that working developers use every day: drawing your design with UML, reusing proven designs with design patterns, designing for your users, loading data, and deploying your app to Azure.

Updated

UML Diagrams

  1. Common UML Diagrams (Apprentice): UML is a shared way of drawing software. A use case diagram shows who uses the system and for what, a class diagram shows the classes and how they're related, and a sequence diagram shows the messages that pass between parts, in order. Sketch them to think and to explain.

Design Patterns

  1. What is a Design Pattern (Apprentice): A design pattern is a proven, named answer to a problem that keeps coming up in software design. Patterns are grouped as creational, structural and behavioral, and you've already used several without knowing their names: Singleton, Iterator, Observer, Dependency Injection and the DAO.
  2. Factory Method (Journeyman): A factory method makes an object for you, so the code that uses it doesn't name the class it gets. A simple factory picks the class in one switch, instead of in every caller; the Gang of Four's Factory Method lets each subclass decide what to create. ASP.NET Core's registrations with a lambda are factories too.
  3. Iterator (Journeyman): The Iterator pattern lets code walk through a collection without knowing how it's stored. In C#, foreach works on anything that implements IEnumerable<T>, which hands out an IEnumerator<T> with MoveNext and Current. Write one by hand to see how it works, then let yield return write it for you.

UI and UX

  1. Designing a User Experience (Apprentice): The UI is what users see; the UX is how it feels to get something done. Start from what users want to do, plan the flow and sketch a wireframe before writing code, then make every screen clear, consistent, honest about what's happening, and usable by everyone. Then watch real people try it.

Loading Data

  1. Seeding and Importing Data (Journeyman): A new database starts empty. Seed scripts fill in the data every copy needs, written so they can run again safely. Imports bring in data from elsewhere, such as a supplier's CSV file. Check every row, add the good ones in one transaction, and report the rest by line number.