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