Este livro é voltado a capacitar desenvolvedores com alguma experiência em orientação a objetos ao desenvolvimento de software orientado a componentes. Ele apresenta uma forma de desenvolver software que é uma extensão da prática de desenvolvimento orientado a objetos. A abordagem proposta é um modelo de componente, o modelo Beyond.
Mas por que alguém precisaria aprender a desenvolver orientado a componentes? Para procurar responder a esta pergunta é preciso abordar duas questões. A primeira é o crescente aumento da complexidade do software, na medida em que ocorre a evolução do hardware. Com a evolução do hardware, que tem sido ininterrupta ao longo das décadas da história do desenvolvimento de software, os programas têm ficado cada vez mais complexos e, em consequência, mais extensos. Manusear programas com mais de mil classes é uma realidade atualmente, mas não era tempos atrás. Para quem já teve a experiência de trabalhar com programas orientados a objetos dessa dimensão, provavelmente experimentou a dificuldade de mantê-los legíveis e gerenciáveis. Neste sentido, o desenvolvimento orientado a componentes seria um caminho natural para o tratamento de alta complexidade, não como um substituto do desenvolvimento orientado a objetos, mas como um complemento.
A segunda questão é que a abordagem tem sido tratada há muitos anos como uma boa ideia, mas que não se materializa. Há um conjunto de dificuldades inerentes ao desenvolvimento orientado a componentes que tem, ao longo dos anos, dificultado ou mesmo impedido a sua ampla adoção. São esses problemas não tratados por várias propostas que fazem com que a abordagem não seja praticável pela maioria dos desenvolvedores de software – mesmo aqueles que já procuraram fazê-lo.
Nesse contexto, o modelo de componente Beyond, aqui apresentado, é voltado a ser uma solução completa para o desenvolvimento orientado a componentes, para desenvolvedores habituados ao desenvolvimento orientado a objetos. O seu público-alvo é composto por estudantes e profissionais com uma cultura básica de desenvolvimento orientado a objetos. E o seu objetivo é capacitar esse público-alvo para o desenvolvimento de software de altíssima complexidade e com a perspectiva de manter esse software legível e gerenciável. A abordagem está fortemente baseada no uso da linguagem de modelagem UML e supõe a implementação em linguagem de programação orientada a objetos, sem focar em alguma tecnologia de implementação específica.
O livro está organizado em duas partes na primeira parte é apresentado o paradigma de orientação a componentes e o modelo de componente Beyond. A segunda parte do livro adota uma abordagem prática e ensina como desenvolver software orientado a componentes, passo a passo, por meio de um exemplo. De fato, são apresentadas duas metodologias de desenvolvimento: o desenvolvimento de programa orientado a componentes e o desenvolvimento de componente, ambas baseadas no uso de UML e na cultura de desenvolvimento orientado a objetos. O exemplo que ilustra a segunda parte do livro está disponível na página web do autor (link acima) – inclusive a sua implementação, que não é mostrada no livro, que enfatiza projeto e não código.