Software Architecture: Perspectives on an Emerging DisciplineGood software developers often adopt one or several architectural patterns as strategies for system organization. But, although they use these patterns purposefully, they often use them informally and nearly unconsciously. This book organizes this substantial emerging "folklore" of system design -- with its rich language of system description -- and closes the gap between the useful abstractions (constructs and patterns) of system design and the current models, notations and tools. It identifies useful patterns clearly, gives examples, compares them, and evaluates their utility in various settings -- allowing readers to develop a repertoire of useful techniques that goes beyond the single-minded current fads. KEY TOPICS: Examines the ways in which architectural issues can impact software design; shows how to design new systems in principled ways using well-understood architectural paradigms; emphasizes informal descriptions, touching lightly on formal notations and specifications, and the tools that support them; explains how to understand and evaluate the design of existing software systems from an architectural perspective; and presents concrete examples of actual system architectures that can serve as models for new designs. MARKET: For professional software developers looking for new ideas about system organization. |
From inside the book
Results 1-3 of 34
... algorithms and data structures were simply cre- ated as part of each program . Some folklore grew up about good ways to do certain sorts of things , and it was transmitted informally ; by the mid - 1960s good programmers shared the ...
... algorithms ; indeed there are a number of standard strategies [ P + 84 , Section 22 ] . These are mentioned in ... algorithmic : we compute outputs ( or execute continuous systems ) solely on the basis of the inputs . This normal ...
... algorithmic operations on data . They are very good at defining data structures and algorithms that operate on those data struc- tures . Extensions allow them to describe computational structures such as concurrency . They are not ...