Software Design Patterns
This section is all about software architectural design patterns and approaches. It is my accumulative knowledge and experiences discovered along the way from my software careers. Currently, I'm heavily based my syllabus from self-studying Carnegie Mellon University - School of Computer Science Master of Science - MS, Information Technology syllabus.
As Prof. Jonathan Aldrich, Prof. Jonathan I. Maletic, and Dwight Deugo stated, designing a good system requires great efforts in knowledge and especially, first hand experiences. Therefore, just like an artist, it is through time and practice, one can become a great designer, thus, making towards the goal of becoming a software architect.
Hence, do not give up, do stay open, and do learn with humility with any new design approaches. Log them if you must.
Basics
This section covers all the basics in software design patterns.
Core Aspects
These are the core aspects related to software designs. It covers subjects like principles, guidelines and processes.
Design Patterns
These are the known design patterns from the industry. It covers 4 different directions: architectural, behavioral, creational, and structural.
Architectural
These are architectural related patterns. They serve as foundation of building an application.
Behavioral
These are behavioral related patterns. They provide various means of interactions for communicating to one another.
Creational
These are creation related patterns. They provide various means of scalable data creation.
Structural
These are structural related patterns. They are meant for defining data structure and ways of interacting between them. These design patterns focuses on structure requirements and defining its interaction style.
Anti-Patterns
These are the anti-pattern, known for their bad design. Like Design patterns, it covers It covers 4 different directions: architectural, behavioral, creational, and structural.
Software Developments
These are the anti-patterns related to the software development, practices, tools, processes, etc.
Software Architecture
These are anti-patterns related to software architecture itself.
Project Management
These are anti-patterns related to project management.
Scaling and Distributions
These covers the scaling and distributions aspects. It includes growing and mass deployment across the network.
References
Here are the references I read through to absorb the necessary knowledge.
That's all about software design patterns.