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
- 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
- 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.
- 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.
- 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
- 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
- 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.