Arkitektur - Ziretech/neural-vortex GitHub Wiki
Neural Vortex använder Clean Architecture.
Komponenter
ConsoleApp
ConsoleApp innehåller Main, konfigurerar systemet och skapar resurser som används av adaptrarna.
Adapter.OpenTK
Adapter för OpenTK. Innehåller implementationen av Brickor (tiles) och hantering av tangentbord som används av UseCase.NeuralVortex.
Adapter.Spelvärld
Adapter för att lagra spelvärlden. Lagring sker främst mot minnet, när spelet körs. Spelvärldens komponenter definieras i UseCase.NeuralVortex, men lagras och hämtas via interface mot spelvärlden.
UseCase.NeuralVortex
Komponent för att hantera alla användarfall i spelet. De två stora ingångarna är VisaSpelvärld och UppdateraSpelvärld. Eftersom spelet uppdateras vid tangentnedtryckning så hanteras användarinput i UppdateraSpelvärld.
Entity.NeuralVortex
Detta lager borde innehålla de mest generella reglerna för spelet. Exakt hur dessa regler kan se ut behöver undersökas.
"these entities are the business objects of the application. They encapsulate the most general and high-level rules. They are the least likely to change when something external changes."