{"repo":"MfaXyz/Unity-Advanced-Engineering-Guide","free":true,"listed":false,"github":"https://github.com/MfaXyz/Unity-Advanced-Engineering-Guide","clone":"git clone https://github.com/MfaXyz/Unity-Advanced-Engineering-Guide.git","description":"Unity Software Engineering Guide (Design Patterns, Software Architecture, Algorithms and Data Structure)","language":"C#","stars":30,"topics":["architecture","design-pattern","design-patterns","design-system","game-development","game-engine","gamedev","software-architecture","software-design","software-development"],"license":"AGPL-3.0","category":"game-templates","readme_excerpt":"Hello World! Software Engineering: Related repositories High-level software development topics like domain driven design, design patterns, and antipatterns. Books: Level up your programming with game programming patterns By Unity SOLID Principles: Single Responsiblity Principle: A Module should be responsible for one thing and has one reason to change. Open Closed Principle: A module should be open for extention but closed for modification. We can solve this problem by using interfaces. Liskov Substitution Principle: An Object(Such as class) may be replaced by a sub-object(such as a class that extends the first class) without breaking the program. Derived classes should extend without replacing the functionality of old classes. Interface Segregation Principle: Classes should not be forced to depend on methods they do not use. Dependency Inversion Principle: High level parts of the system should not depend on low level parts of the system directly, instead they should depend on some kind of abstraction(interfaces) Note: So what is Dependency Injection? DI is a subtype of IoC (We will talk about it later) and is implemented by constructor injection, setter injection, or method injection. It’s a more specific implementation that focuses on the way objects obtain their dependencies. DI talks about how one object acquires dependency on another object through abstraction. DIP is a principle of the SOLID principles in Object-Oriented Programming. It’s about decoupling dependencies b","default_branch":null,"files":null,"tree":[],"storefront":"/r/MfaXyz","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/MfaXyz/Unity-Advanced-Engineering-Guide/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}