Cargando…

Refocusing your domain (until a better title)

<!--HTML-->This forum's subject is from 'Zero to Production'. But what exactly goes on during the 'zero' phase? What are the questions that you and your team ask yourselves before starting to code, and which are the first decisions you make? 'Apache or Nginx? Fla...

Descripción completa

Detalles Bibliográficos
Autor principal: Triantafyllidis, Nikolaos Petros
Lenguaje:eng
Publicado: 2017
Materias:
Acceso en línea:http://cds.cern.ch/record/2290773
_version_ 1780956366537490432
author Triantafyllidis, Nikolaos Petros
author_facet Triantafyllidis, Nikolaos Petros
author_sort Triantafyllidis, Nikolaos Petros
collection CERN
description <!--HTML-->This forum's subject is from 'Zero to Production'. But what exactly goes on during the 'zero' phase? What are the questions that you and your team ask yourselves before starting to code, and which are the first decisions you make? 'Apache or Nginx? Flask or Django? PostreSQL or MongoDB? Containers or VMs?', are usual questions that are brought forward during the design phase. Albeit cool and exciting, these issues are the wrong things to consider ourselves with during the first stages of software development. What is the domain your application operates on? What are your core entities and how do they interract with each other on a logical level? Which are the business rules that would persist whether you would be creating a Web application, a Command Line Interface or simple drawings on a whiteboard? Not only should these issues be the first for a developer to consider but their importance should be clearly reflected in the application's code. In 2012, Robert C. Martin (Uncle Bob) proposed a layered software architecture pattern named 'The Clean Architecture' (https://8thlight.com/blog/uncle-bob/2012/08/13/the-clean-architecture.html). Built around the Dependency Inversion Principle (https://en.wikipedia.org/wiki/Dependency_inversion_principle), this pattern suggests a code structure that places the application domain (business entities & use cases) in its very core. It aims in achieving separation of concerns and produce software systems that are testable, adaptable and independent of external systems. This talk will be a general presentation of the above architecture followed by a brief demonstration of the pattern (probably in Go).
id cern-2290773
institution Organización Europea para la Investigación Nuclear
language eng
publishDate 2017
record_format invenio
spelling cern-22907732022-11-02T22:10:37Zhttp://cds.cern.ch/record/2290773engTriantafyllidis, Nikolaos PetrosRefocusing your domain (until a better title)4th Developers@CERN ForumDevelopers@CERN Forum<!--HTML-->This forum's subject is from 'Zero to Production'. But what exactly goes on during the 'zero' phase? What are the questions that you and your team ask yourselves before starting to code, and which are the first decisions you make? 'Apache or Nginx? Flask or Django? PostreSQL or MongoDB? Containers or VMs?', are usual questions that are brought forward during the design phase. Albeit cool and exciting, these issues are the wrong things to consider ourselves with during the first stages of software development. What is the domain your application operates on? What are your core entities and how do they interract with each other on a logical level? Which are the business rules that would persist whether you would be creating a Web application, a Command Line Interface or simple drawings on a whiteboard? Not only should these issues be the first for a developer to consider but their importance should be clearly reflected in the application's code. In 2012, Robert C. Martin (Uncle Bob) proposed a layered software architecture pattern named 'The Clean Architecture' (https://8thlight.com/blog/uncle-bob/2012/08/13/the-clean-architecture.html). Built around the Dependency Inversion Principle (https://en.wikipedia.org/wiki/Dependency_inversion_principle), this pattern suggests a code structure that places the application domain (business entities & use cases) in its very core. It aims in achieving separation of concerns and produce software systems that are testable, adaptable and independent of external systems. This talk will be a general presentation of the above architecture followed by a brief demonstration of the pattern (probably in Go).oai:cds.cern.ch:22907732017
spellingShingle Developers@CERN Forum
Triantafyllidis, Nikolaos Petros
Refocusing your domain (until a better title)
title Refocusing your domain (until a better title)
title_full Refocusing your domain (until a better title)
title_fullStr Refocusing your domain (until a better title)
title_full_unstemmed Refocusing your domain (until a better title)
title_short Refocusing your domain (until a better title)
title_sort refocusing your domain (until a better title)
topic Developers@CERN Forum
url http://cds.cern.ch/record/2290773
work_keys_str_mv AT triantafyllidisnikolaospetros refocusingyourdomainuntilabettertitle
AT triantafyllidisnikolaospetros 4thdeveloperscernforum