Com a palavra, Prof. Dr. Hugo Paredes

A transformação digital é atualmente uma realidade e o acesso à tecnologia e a ferramentas que nos apoiam, em grande parte das nossas tarefas quotidianas, é uma necessidade. A tecnologia é uma “commodity” da sociedade da informação da qual dependemos no nosso dia a dia, fornecendo um conjunto de funcionalidades imprescindíveis em atividades profissionais e de lazer. A dependência da tecnologia representa também um conjunto de requisitos para as aplicações, que devem responder a uma nova geração de utilizadores, ágil e dinâmica, em constante mudança.

A agilidade e resiliência são duas das principais características nas aplicações, refletindo-se na sua arquitetura. A capacidade de se adaptar às constantes mudanças de um ecossistema altamente volátil, com utilizadores exigentes, obriga a que as arquiteturas das aplicações privilegiem soluções versáteis e flexíveis. A Engenharia de Software apresenta diversas soluções para estes requisitos, sendo que na base de todas elas está a modularidade e separação de conceitos, introduzido por Dijkstra(¹).

Neste livro, Carlos Camacho introduz o conceito do desenvolvimento em camadas com C#. Este conceito é a base para o desenvolvimento estruturado de aplicações, capazes de responder às exigentes demandas do mercado. Agrega, de uma forma clara e concisa, os princípios para o desenvolvimento de aplicações resilientes, capazes de se adaptar rapidamente, e que asseguram uma manutenção ágil e eficaz. A organização do livro segue ela também uma estruturação em tudo similar ao que se espera de uma aplicação, construído sobre um exemplo de aplicação: o problema é segmentado em subproblemas, que são depois estruturados em camadas. O livro é um manual para quem se inicia no desenvolvimento de aplicações com C#, introduzindo desde logo um pensamento estruturado na concepção de aplicações, seguindo o tradicional modelo de camadas e obedecendo à separação de conceitos.

Esta obra é uma referência para os iniciantes na programação em C#, abrindo horizontes para outros desafios, garantindo as bases para um pensamento lógico e estruturado das aplicações de software, capazes de responder aos mais exigentes requisitos da atualidade.

Bom trabalho.



Hugo Paredes, PhD, BEng.
Professor Auxiliar com Agregação na Universidade de Trás-os-Montes e Alto Douro e Investigador Sénior no Instituto de Engenharia de Sistemas e Computadores, Tecnologia e Ciência, Portugal.

(¹)Dijkstra, E. W. (1982). On the role of scientific thought. In Selected writings on computing: a personal perspective (pp. 60-66). Springer, New York, NY.