# 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: November 3, 2026

## [UML Diagrams](https://www.ask-codey.com/courses/csharp-full-stack-bootcamp/topics/uml-diagrams)

1. [Common UML Diagrams](https://www.ask-codey.com/lessons/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](https://www.ask-codey.com/courses/csharp-full-stack-bootcamp/topics/design-patterns)

1. [What is a Design Pattern](https://www.ask-codey.com/lessons/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.
2. [Factory Method](https://www.ask-codey.com/lessons/design-patterns-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](https://www.ask-codey.com/lessons/design-patterns-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&lt;T>, which hands out an IEnumerator&lt;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](https://www.ask-codey.com/courses/csharp-full-stack-bootcamp/topics/ui-and-ux)

1. [Designing a User Experience](https://www.ask-codey.com/lessons/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](https://www.ask-codey.com/courses/csharp-full-stack-bootcamp/topics/loading-data)

1. [Seeding and Importing Data](https://www.ask-codey.com/lessons/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.

Source: https://www.ask-codey.com/courses/csharp-full-stack-bootcamp/chapters/professional-topics
