GOLSCO
Books Online Store
UK | Germany
books   baby   camera   computers   dvd   games   electronics   garden   kitchen   magazines   music   phones   software   tools   toys   video  
 Help  
Books - Computers & Internet - General - Best Books on Analysis, Architecture and Design Patterns

1-20 of 22       1   2   Next 20
Featured ListSimple List

Go to bottom to see all images

Click image to enlarge

Business Modeling With UML:Business Patterns at Work
by Magnus Penker, MagnusPenker, Hans-Erik Eriksson
Average Customer Review: 4.0 out of 5 stars
Hardcover (January, 2000)
list price: $65.00 -- our price: $55.53
(price subject to change: see help)
US | Canada | United Kingdom | Germany | France

Editorial Review

Until now, the Unified Modeling Language (UML) has been primarily used to design software, but should you use it to model your entire business as well? That's the intriguing argument of Business Modeling with UML, a text that combines leading-edge enhancements to UML with some solid thinking about business. Written for any manager with some technical background, this book looks at the possibilities of UML used to model entire organizations.

The book makes a strong case for the advantages of modeling businesses in UML. With models, an organization can provide better software, define and implement new goals, and even decide whether to outsource certain operations. The Erickson-Penker Business Extensions for UML, invented by the authors and presented within the text, permit UML to document the entire business enterprise. This book shows how to model businesses, from business architecture to processes, business rules, and goals. Short case studies--for Web-centric and more traditional companies--are used to illustrate key concepts here.

Later sections of the book will perhaps take a little more background in software engineering to appreciate fully as the book presents a handful of business patterns, which offer reusable solutions to common problems (just like software patterns). The authors also look at how to leverage a business model to create better software.

In engineering, a new car is modeled and thoroughly tested on a computer before any physical prototype is ever built. As the authors point out, a business that has accurate models can test out new ideas cheaply and then adapt to changing market conditions quickly. This title makes a case that UML--a tool traditionally used by software developers--is ready to tackle the job. Read this notably informative and intelligent book to see the possible benefits of business modeling in UML for your organization. --Richard Dragan

Topics covered: Business modeling basics, UML notation and Erickson-Penker Business Extensions, class diagrams and powertypes, object diagrams, statecharts, activity diagrams and swimlanes, sequence and collaboration diagrams, collaboration and use case diagrams, component and deployment diagrams, stereotypes, business architectures, business processes, resources, goals, business rules, Object Constraint Language (OCL) and collections, business views and patterns, business goal allocation, business goal decomposition, business goal-problem, and software architectures ... Read more

Reviews (12)

2-0 out of 5 stars Not particularly useful
I am looking for a book that would be able to flesh out proper business processes utilizing well defined modeling language/framework. Although UML is extremely useful for software development, the author's work did make its case stand with me on UML's usefulness as business process modeling tool.

The examples are too simplistic and the suggested modeling diagrams are far too cluterred for a business personel to understand.(Cluttered diagrams on a simple example) The book would be better if it had a growing case study and used real world examples and diagrams.

3-0 out of 5 stars A very good guide to business-level modelling with UML
One of the weaknesses of the Unified Modelling Language is its relatively limited support for modelling at the Enterprise level, especially to accurately model business processes. The UML purists believe that everything should be reduced to Use Cases, while these authors recognise that much more is necessary.

The book covers five quite distinct topics:
1. An introduction to business modelling and UML, explaining the problems the authors want to help solve, and describing each of the relevant techniques of UML,
2. A proposal for a group of extensions to UML (using that language's own established extensibility mechanisms) so that that it can better model business processes,
3. A description of the variety of views and models which will be required to establish a comprehensive understanding of the business, or at least part of it,
4. A repository of "business patterns", which you can use to model the business,
5. A comprehensive worked example.

Each of these is quite detailed. In particular, the book contains probably the best introduction to the Object Constraint Language (OCL), and its use to model business rules, that I have read anywhere. The sections on how to do business modelling are also very good, as are the introductions to the relevant UML techniques.

The "Eriksson-Penker extensions for business modelling" are important because several UML-based case tools have now implemented them as an emerging standard for business process modelling with UML. If you want to fully understand how these work, this is the book to read.

The business patterns are more of a "curates egg". Some are extremely useful, and others innovative which could easily solve your problems where there is an accurate match. That said, some are less good and seem to state the obvious, although with patterns it is always difficult to know if you are judging some harshly simply because you are so familiar with them and other readers will get more value. Some of the pattern explanations are a bit repetitive, and the "examples" often sound very artificial, but overall they are useful, and a single one which solves a real business modelling problem for you will justify the rest.

At over 400 pages, some of which is occasionally slightly slow and ponderous this is not an ideal book to read from cover to cover. But it is definitely one to study, focusing on whichever topic is most relevant to you at any time, and I can happily recommend it.

5-0 out of 5 stars Excellent ideas, excellent read!
In this book, Eriksson and Penker (E-P) define UML extensions for describing business processes.Here's a summary of my interpretation of thier ideas:

Processes are generally modeled using UML activity diagrams.A "process" is shown as an Activity stereotyped as <>.The <> activity is also given a new icon and a set of tagged values.I think the icon was added to make buissness developers feel more at home.Instead of a retangle with rounded corners, it looks like a big arrow.Four base types of objects are shown in a process diagram:Goal, Input, Output and Resource objects."The input objects are resources that are transformed or *consumed* as part of the process..."An input object may become an output object with a state change, but this is not always the case.Sometimes input objects are consumed.E-P say "An output object can be a completely new object created during the processes or it can be a transformed input object".Another quote: "During its execution, the process interacts with other resource objects, objects other than the input and output objects, that are just as vital.These objects carry information required by the process or they are resources responsible for executing the activities in the process, such as people or machines.".Output objects flowing from one process can become input objects or resource objects flowing to another process.Goal objects define a set of rules for controlling the process.A process diagram is drawn with input objects to the left, resource objects below, goal objects above and output objects to the right of each process symbol.Object flows (dashed arrows) are used to connect the objects to the processes.Just as in standard UML, <> Activities can contain sub <> Activities and Activities.Non-process Activities being automic.The State of an object can be shown with standard UML syntax.A description on the use of "swimlanes" in activity diagrams is also given.Classes of objects and their associations are provided by standard class diagrams.E-P also describe the use of sequence diagrams and state diagrams in a business modeling context.They even provide a meta-model for thier Modeling extensions!The book also describes another type of process diagram that they call an "assembly line" diagram.It appears to be a process diagram that utilizes Packages to represent resource collections.I believe that Eriksson and Penker stayed within the UML standard and in fact thier extensions don't appear to be that "extensive".Mostly some stereotyping, some tagged values and an icon.The second half of the book is dedicated to design patterns for busineess development.But many of these patterns could be very usefull to you.They also show how to provide object constraints using OCL and provide a pretty decent UML primer.

One thing that is bothering me about the process diagrams it that they do not show object collaboration very well.I think that the contractual message passing between objects needs to be shown with informational interface objects rather than parameter lists.I'm withholding judgement at this point.After all, the business models they are describing will never be translated into code, but rather business forms and process documentation and executed by people and not computers.They do however, give a method for creating software system models for automating part of the business system.

All mistakes, misconceptions and missuse of terminolgy in the above description of Eriksson and Penker's book are my own.

Adios,
-Andy ... Read more

Isbn: 0471295515
Subjects:  1. Application software    2. Business    3. Business Enterprise    4. Business Software - General    5. Computer Bks - Languages / Programming    6. Computer Books: Web Programming    7. Computers    8. Data processing    9. Development    10. General    11. Object-Oriented Programming    12. Programming - Object Oriented Programming    13. Programming Languages - General    14. UML (Computer science)    15. Computers / Data Modeling & Design    16. Object-oriented programming (OOP)    17. Programming languages   


$55.53

Analysis Patterns : Reusable Object Models (Addison-Wesley Object Technology: Addison-Wesley Object Technology Series)
by Martin Fowler
Average Customer Review: 4.5 out of 5 stars
Hardcover (09 October, 1996)
list price: $54.99 -- our price: $43.14
(price subject to change: see help)
US | Canada | United Kingdom | Germany | France

Editorial Review

Patterns are higher-order designs that can be reused across projects and types of computer systems. Analysis Patterns: Reusable Object Models defines over 70 patterns, beginning with some from the business world, such as the Party and Accountability patterns, which define the players in organizations and whom they report to. Many of the other patterns are drawn from the health care industry and mainly show patterns of doctor-patient interactions.

The patterns for financial markets will probably be accessible for the majority of readers. Author Martin Fowler defines a Transaction pattern (and related patterns) as well as several patterns for the Accounting of Objects. He moves on to modeling stock markets with Portfolio, Quote, and Scenario patterns, which define how a price for a stock is determined for a given moment. Interestingly, he establishes patterns for Forward Contracts (for derivatives) as well as Options, and so takes on a complicated area in today's financial markets.

Fowler's considerable design experience in these fields is beneficial, as he is able to define each pattern in both text and software engineering diagrams. Only rarely does the author provide implementations of these designs and those that are furnished are done in Smalltalk, which makes this book more suitable for those who have experience in object design. ... Read more

Reviews (14)

5-0 out of 5 stars The only "practical" book on deciding which design to use
What I am nearly always missing when reading about design (esp. when sifting through design case studies) is the path that lead to a design. The weighing of arguments that made the author/designer choose the solution at hand. The context and the "drivers". Fowler is the only one achieving this: offering different solutions and discussing their advantages and disadvanteges. Yes he dives deep and goes into abstract concepts, but sometimes solutions only differ from an abstract viewpoint. You need quite some understanding of design principles, to (i) understand the book and (ii) be a good designer.

For me this is the book that helped me understand the design process as it should be. And using "analysis patterns" he gives plentiful of concrete examples, sharpening your mind.


One remark to everyone critcizing Fowler for not using UML: This book does not use UML since it dates back to 1996! When UML was not really there. Version 0.9 of the UML came out in the second half of 1996. And btw. Martin Fowler has written the very first -- and still one of the best -- book on UML ("UML Distilled", now in its 3rd edition).

5-0 out of 5 stars Truly Unique, Extremely Valuable Entry
Kind of funny, reading the reviews here makes it clear that this book is something of a sleeper, it has not gotten the exposure that a lot of the other pillars of the pattern community have. I think the reason is that people may glance at it and think that it is too domain-specific. In fact, this book does a lot of great things, it is a meditation on some crucial OO modeling issues.

The first problem Fowler broaches is a patient's weight and he states, correctly I'm sure, that most programmers would just make weight a class property and make it be of type integer. But there are problems with that approach. First one is the issue of units. If you make it an int you are assuming that it is just a count of pounds. What happens if you want another measure? Furthermore, what happens when someone asks where the patient's weight has gone in the last month.

From this point of departure, many issues are taken up. For people who have grappled with OLAP before and know something about dimensional models, it will seem as though he is trying to make an operational into an analytical model, which experience has taught us is not good. But, in fact, there is sanity to Fowler's approach.

Personally, if he ever does rev this book (read on his site that he is thinking about it), I wish he would consider writing a section that attempts to hide the observation elements and seamlessly map them back into the object model. Having a separate class keeping track of what the weight of a person represented by another class is does ultimately seem to undo the objectness of the model, but that's a minor nit. Definitely a book that I've returned to many times.

5-0 out of 5 stars Study, don't just read this book.
I bet you are an object oriented software developer striving to build better applications. If you have not read GoF Design Patterns and followed that with Vlissides's Pattern Hatching, read those first. Follow those with this, Martin Fowler's Analysis Patterns.

As two readings of Design Patterns took my OO knowledge from infancy to adolecence, Analysis Patterns will take you from adolecence to adulthood. Fowler's work does not put together patterns from the Design Patterns book, but takes its time to decompose actual application domain concepts to applicable object models. It will then be up to you to use your knowledge from Design Patterns to create mechanisms that support properly modeled business concepts as Analysis Patterns describes.

If you like OO modeling and design, but are wondering how better to apply your modeling concepts, Fowler's book is something you will definitely benefit from. However, make a pot of coffee per chapter-this book is very dense with concepts.

Fowler ends Analysis Patterns with some more easily read chapters on application design on a larger scale. You've heard of "n-tier," his discussion of the concepts of "n-tier" at the end of the book are possibly worth reading first.

After reading this book-and understanding it's motivations-you will never again be tempted to take "innocent" shortcuts in your application design. You will not be motivated to use "Strings" for "measurements" or "doubles" for "distances." You will look upon your peer's object designs either with a new understanding that they know that going the distance with their object model is worth it-and you won't demand they dumb down their design ever again-and you'll likewise gain intuition about where a simplistic business domain model is going to fail. ... Read more

Isbn: 0201895420
Subjects:  1. Computer Bks - Languages / Programming    2. Computer Books: General    3. Computers    4. Object-Oriented Programming    5. Object-oriented methods (Compu    6. Object-oriented methods (Computer science)    7. Programming - Object Oriented Programming    8. Programming - Software Development    9. Programming Languages - General    10. System analysis    11. Computers / Programming / Software Development   


$43.14

Pattern-Oriented Software Architecture, Volume 1: A System of Patterns
by FrankBuschmann, RegineMeunier, HansRohnert, PeterSommerlad, MichaelStal, Peter Sommerlad, Michael Stal
Average Customer Review: 4.5 out of 5 stars
Hardcover (08 August, 1996)
list price: $75.00 -- our price: $59.96
(price subject to change: see help)
US | Canada | United Kingdom | Germany | France

Editorial Review

Pattern-Oriented Software Architecture: A System of Patterns looks at how patterns occur on three different levels--in software architecture, in everyday design, and in idioms (which describe how a particular design pattern is implemented in a programming language like C++). This synthetic approach is a little theoretical at times, but the authors also present over a dozen patterns and provide real-world examples wherever possible.

For architectural patterns, the authors look at the Layers pattern, used in operating systems such as Windows NT and virtual machines. They also consider Pipes and Filters, which process streams of data. (This pattern, the authors point out, is a lynchpin of Unix.) Their Blackboard pattern shows how a complex problem, such as image or speech recognition can be broken up into smaller, specialized subsystems that work together to solve a problem. (For recognizing words from a raw waveform input, a Blackboard approach might have separate processes to find phonemes, then words, then sentences.)

This book also looks at today's distributed systems in considering the Broker pattern, which is used on the Internet and in Microsoft's OLE technology.This section also presents several powerful patterns for building effective graphical user interfaces, such as Model-View-Controller.

The authors define several well-known design patterns, such as the Proxy and Command patterns, and also basic, far-reaching patterns, such as Whole-Part and Master-Slave, which are widely used throughout computing. Their survey ends with a discussion on the way objects can communicate (using such patterns as Forwarder-Receiver, Client-Dispatcher-Server, and Publisher-Subscriber), which many developers will recognize as familiar patterns, but are codified here as "official" patterns. The book then discusses some idioms in C++ and a more far-reaching role for patterns in software design and architecture.By fitting patterns into traditional software engineering practices, the authors of Pattern-Oriented Software Architecture successfully argue that the role for patterns will only continue to diversify and enrich tomorrow's software engineering tools and methodologies. --Richard Dragan ... Read more

Reviews (12)

4-0 out of 5 stars Clear and wide-ranging
This is an unusual book in the pattern genre. It presents a number of patterns, categorized by archtiectural level. That's just the first part of the book, though. The third of the book is about the process of using, relating, collecting, and distributing patterns.

Only chapter 2 really addresses patterns for the strategic, architectural level of a software system. It does a very adequate job, using a variety of notations, examples, and analysis steps. This book is from 1996, so time has changed our view of some patterns. "Reflection," for example, has become pervasive in applications based on plugins and software components. It is also a fundamental API in the major langauges (Java and C#) released since this book was published - perhaps reflection should be downgraded to an "idiom". That's just nitpicking, though, since reflection is even more important now than when the book was written.

For contrast, the authors present additional design patterns (including some from Gamma's book) for use at tactical design levels. They also discuss idioms patterns that typically involve just a few lines of code within on function. The contrast between the three different levels of implementation and design gives a useful discussion. The authors also present a weak chapter on "systems" or "langauges" of patterns The discussion is OK as far as it goes. The weakness is in what it omits. After reading this brief chapter, the programmer has very little practical information about choosing patterns from some library for some task. The poor programmer has no information at all about how to link patterns together, and that's a real stumbling block for beginning pattern users.

The final section of the book is really sociology. It's about the pattern community, what that community is for, and how to be a working member. I find the discussion un-helpful, but I expect opinions to differ.

Even today, this is a good second book (after Gamma's 'Design Patterns') on patterns and pattern usage. It lack the depth and precision of Gamma's book, and tends to add words without adding meaning. On the positive side, it's broader than Gamma's, and addresses a wider range of implementation levels.

5-0 out of 5 stars This book rocks!
This book is ten times better than GoF or Fowler's book. I would love to see another volume in this series covering Web Services and Integration patterns, maybe written by Ambler, Naggapan, and Cooper would be excellent.

Check out Eric Newcomer's book on Web Services as a great companion.

4-0 out of 5 stars Decent software patterns book
POSA1 is written far better than other related texts, such as GoF. (And be aware of the fact that GoF only contains design level patterns - it does not contain system architecture level patterns.) At the same time, after its nth reprinting and redesigned book cover, the text still contains non-UML diagrams (although there are some UML-like sequence diagrams included), and very few real code examples. The lack of code examples, though, can in some ways be seen as a positive aspect of the text. Compare this text with Applied Java Patterns, for example. AJP has very extensive code examples, but because the code examples for each pattern run for pages (rather than simply providing code snippets), the reader may be inclined to narrow their view of how the pattern is applied. For example, MVC is definitely not a pattern limited to GUI user interfaces! The point on which I think that POSA1 seems to come out ahead is that the stronger-than-ususal pattern descriptions and applicability, with a small amount of code provided where deemed especially relevant to the point being attempted to make, helps one understand the patterns better rather than memorizing language-specific implementations of patterns. This point is why I think the text was chosen to accompany Software Architecture in Practice for the graduate software engineering course in software architecture I just took. ... Read more

Isbn: 0471958697
Subjects:  1. Computer Architecture    2. Computer Bks - Languages / Programming    3. Computer Books: General    4. Computer Graphics    5. Computer software    6. Development    7. Programming - Software Development    8. Programming Languages - General    9. Computer architecture & logic design    10. Computers / Programming / Software Development    11. Software engineering   


$59.96

Pattern-Oriented Software Architecture, Volume 2, Patterns for Concurrent and Networked Objects
by DouglasSchmidt, MichaelStal, HansRohnert, FrankBuschmann
Average Customer Review: 4.5 out of 5 stars
Hardcover (14 September, 2000)
list price: $70.00 -- our price: $55.30
(price subject to change: see help)
US | Canada | United Kingdom | Germany | France
Reviews (19)

2-0 out of 5 stars Good information badly written
This book summarizes some important distributed systems patterns researchers have identified in recent years.In that sense it is a necessary contribution to the software engineering literature.

However, the examples are at times unclear and the author does not always motivate them convincingly.From a technical writing perspective, the passive voice plagues this book from start to end, forcing readers to stop and reread sections to make sense of convoluted prose.

4-0 out of 5 stars Good Patterns Hidden in Excessive Verbiage
First, the patterns in this book are very good. It was nice to see some coverage of low level networking patterns. As an experienced programmer, I was vaguely familiar with many of the patterns already, but it is really helpful to see the lines drawn in the sand, to hear why the authors chose to break things up as they did, and to understand the ramifications of the patterns in greater detail (eg, their clarification of thedifference between Observer and Interceptor was quite helpful). I even got to learn some new patterns! (The Leader / Followers pattern was new to me.)

That said, the writing style about drove me BANANAS! I have never lost my place in a sentence when reading a book so many times. I must have read every line twice. Look, I'm a computer geek - I LOVE dense technical books, but this is something else. It's like reading Shakespear, or Charles Dickens. The authors must have been paid by the word. The specific implies the general! Have mercy! I don't need the difference between an interface and its concrete implementation belabored every time it comes up (and in a patterns book, believe me it's often!)

4-0 out of 5 stars Size does matter
Big problems really are different from small problems. Solutions to small problems rarely scale well - the big solution often has to be different in kind from the small one. This book is about solutions to big problems, the kind that may involve hundreds of servers and thousands of clients, or more.

This gives a clear, thorough description of about 15 design patterns that work well large, performance-sensitive applications. Some (like "Scoped Locking") depend on the specific semantics of C++, but may work in Java or C# if used carefully. Others are highly specialized implementations of more general patterns. The "Leader/Followers" pattern, for example, is a one implementation of the "Object Pool" pattern (see Grand, 'Patterns in Java', 1998) used for a particular purpose. On the whole, the authors did a fair job of relating these patterns to others in the literature. I was only occasionally frustrated that I did not have that literature at hand when reading this.

The authors go into extreme detail in describing implementations based on each pattern, something sure to help some readers. There is often a C++ implementation as well, at least in skeletal form. The descriptions go on at great length, averaging almost thirty pages of discussion for each pattern. More isn't necessarily better, though, and some descriptions would have benefitted from a slimming program. I would also have been grateful for more differential discussion - comparing patterns, in terms of the specific decision critieria that argue for one pattern vs. another.

The back matter in this book takes about 100 pages - glossary, bibliography, and indices by pattern, topic, and author names. Very helpful stuff. If it's going to be that long, however, a sentence or two about the more important references would have added little bulk but lots of value to the bibliography.

The book is a good one, giving lots of practical information about the patterns it discusses. It's aimed at an experiecned reader, someone already conversant with OO programming, patterns, and at least a taste of problems bigger than classroom exercises or solo projects. A bit less mass chosen a bit more carefully would have improved this book, but it's still a worthwhile addition to my technical library.

//wiredweird ... Read more

Isbn: 0471606952
Sales Rank: 56037
Subjects:  1. Computer Architecture    2. Computer Architecture - General    3. Computer Bks - Languages / Programming    4. Computer Books And Software    5. Computers    6. Data Processing - Parallel Processing    7. General    8. Management Information Systems    9. Parallel Processing    10. Programming - Object Oriented Programming    11. Programming - Software Development    12. Software architecture    13. Software patterns    14. Computer Software Packages    15. Computer architecture & logic design    16. Computers / Programming / Object Oriented   


$55.30

Design Patterns
by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
Average Customer Review: 4.5 out of 5 stars
Hardcover (15 January, 1995)
list price: $54.99 -- our price: $47.04
(price subject to change: see help)
US | Canada | United Kingdom | Germany | France

Editorial Review

Design Patterns is a modern classic in the literature of object-oriented development, offering timeless and elegant solutions to common problems in software design. It describes patterns for managing object creation, composing objects into larger structures, and coordinating control flow between objects. The book provides numerous examples where using composition rather than inheritance can improve the reusability and flexibility of code. Note, though, that it's not a tutorial but a catalog that you can use to find an object-oriented design pattern that's appropriate for the needs of your particular application--a selection for virtuoso programmers who appreciate (or require) consistent, well-engineered object-oriented designs. ... Read more

Reviews (187)

3-0 out of 5 stars Design Patterns CD - Needs updating
The CD version is not 100% compatible with current browsers.Internet Explorer v6 reports errors on every page and it's new security features disable some CD functionality.

The Java search engine does not function in both IE and Firefox.

The content is, of course, exceptional; but the reasons for buying the CD are lost in the new browsers.Stick with the book.

4-0 out of 5 stars An Excellent Intro and Reference for Design Patterns
You certainly can't get the information in this book from a more creditable source.The gang of four has produced an excellent book.The first two chapters get the reader in the patterns mindset and the document editor example introduces several patterns at a high level.

Though I wouldn't try to read the rest of the book cover to cover as it reads much like a textbook.It would be best to scan the handy patterns list on the inside cover and jump around to patterns that interest you or you've heard of.

These patterns certainly aren't the silver bullet to your design problems but becoming familiar with them will help you communicate more efficiently with your peers and avoid reinventing the design wheel.I often implement something and realize it is a pattern and then take a look at this book to see how to improve it.

4-0 out of 5 stars Caveat emptor
This is, of course, one of the cornerstones of OOP. This book definitely influenced programmers at all levels and richly deserves the acclaim that it enjoys.
However, this book is not for everyone, especially beginners. To be able to get the best out of this book, you need some solid experience in object oriented programming. This book is ideal for people who have been developers and are moving up to designers/architects. The foundation of real world experience makes a very good base for absorbing the experience captured in this book.
This book is not theoretical by any means. In fact, it captures the experience gained by many people in the course of their careers and offers practical solutions to typical problems encountered in software engineering, specifically object orientedprogramming.
The material in the book is authoritative and terse and would be daunting to a newbie. Most of the explantions and examples are offered without much ado, and expect a certain level of not just knowledge from the reader but also awareness about practical applications and typical scenarios encountered in practice.
I would say that this book is suitable for full time object oriented programmers (whatever the language) with at least a couple of years of experience looking to further strengthen their knowledge of OOP systems and looking to gain an insight into the practical aspects of how to solve typical situations in real world projects. ... Read more

Isbn: 0201633612
Subjects:  1. Computer Bks - Languages / Programming    2. Computer Books And Software    3. Computer software    4. Computers    5. Object-Oriented Programming    6. Object-oriented programming (C    7. Object-oriented programming (Computer science)    8. Programming - Object Oriented Programming    9. Reusability    10. Software patterns    11. Computers / Computer Vision   


$47.04

Design Patterns for Object-Oriented Software Development
by Wolfgang Pree
Average Customer Review: 2.5 out of 5 stars
Hardcover (01 August, 1994)
list price: $49.99
US | Canada | United Kingdom | Germany | France
Reviews (3)

2-0 out of 5 stars Past its sell--by date
I haven't quite worked out who was meant to read this book. It starts with a lengthy discussion of polymorphism and inheritance, presumably addressing a reader to whom those would be unfamiliar. Even in 1994, when this first came out, object orientation had wide acceptance. There may have been some readers back then who needed the introduction, along with the OO-savvy readers. The OO-positive readers didn't need the introduction, but the OO beginners would have had a very hard time with the more advanced discussions that follow.

Pree's whole concept of metapatterns seems to have been dropped from the literature. It's not that the ideas were bad, or even obscure. Quite the opposite, they were so pervasive that they mostly seem to represent language primitives. For example, creating a variable of type X and letting it reference an object of some X subtype is incredibly basic. Yes, it needs to be handled in introductory programming courses, and subtle cases can cause real confusion. On the whole, though, it's about like calling a "for" loop a meta-pattern.

Still, some of the OO advice was sound, and still worthwhile today. For example, the "principle of testability" says that a module should be testable independently, without regard to its environment. The whole discussion of frameworks is interesting, but more recent writing is more informative.

The book does discuss design patterns, as we generally use the term now. The DP literature has matured, though, and settled into a fairly predictable way of describing patterns. This book predates those descriptive conventions, so comes across as scattered or hard to read.

I can't fault a book for being written at some particular time. Back in the 90s, I would probably have four stars, maybe more. Literature and common practice have moved on, though. This book's ideas have been developed, extended, and cast in modern terms by more recent writers. Other writings now present the same material, more clearly, and in more current terms.

This book gives an interesting look at the debates and developments that were current back when it was written, but is no longer on, or even near, the wave of current practice.

1-0 out of 5 stars Wannabe
First, counter to the Amazon listing, Erich Gamma has nothing to do with
this book -- though I would guess that he would probably be willing to
articulate his opinion about it if asked.

Second, this book has little in it that is of practical use to the
everyday programmer. A German habilitation thesis re-hashed
as a consumer book, it creates its own worldview of software
development in a way that is technically compatible with the
GOF view, but only in the sense that the structure of a broken
glass is compatible with the original. The book has none of
the insight that comes from the Alexanderian tradition of patterns.

There are a few parts of the book that are harmless:the "hot
spot" metaphor, for which this book is best known, is useful.
But its articulation in the domain engineering literature, which
predates this book book by a decade, is more thorough and
applicable. Perhaps Pree's legacy will be the introduction of a
cute phrase for something that all designers have long found
useful, and which all but the most clueless designers have found
obvious.

5-0 out of 5 stars An excellent book about design pattern
It was a coincidence that I found this book. First I thought - just another book about that topic. But was the book has to give is far more than many other books of this topic do. I think it is at least worth thesame as Design Patterns by the gang of four. In my opinion someone shouldread it before that book. It offers a view from above. I never want to missit. ... Read more

Isbn: 0201422948
Sales Rank: 702746
Subjects:  1. Computer Bks - Languages / Programming    2. Computer Books: Operating Systems    3. Computer software    4. Development    5. Object-Oriented Programming    6. Object-oriented programming (Computer science)    7. Programming - Object Oriented Programming    8. Programming - Software Development    9. Programming Languages - General    10. Software Development    11. Software patterns   


Applying UML and Patterns
by Craig Larman
Average Customer Review: 4.5 out of 5 stars
Hardcover (30 October, 1997)
list price: $69.33
US | Canada | United Kingdom | Germany | France

Editorial Review

Written for the developer with previous programming and design experience, Applying UML and Patterns combines UML, software patterns, and Java to illustrate the author's own design strategy. Though author Craig Larman sometimes relies heavily on the jargon of software engineering, there's no doubt that his book contains some immediately useful ideas on software design, using the latest and greatest in software-engineering research.

This book begins by outlining a basic process of software design using iterative, object-oriented techniques. The case study used for this text is a point-of-sale (POS) system, a helpful real-world example. The book constructs use case diagrams and basic conceptual and class models for this system. The author then adds sequence diagrams to show how the POS system will do its processing and collaboration diagrams to show how objects will interact with one another. The author uses standard UML diagrams to document the design.

When it comes to refining class design, the author's experience with patterns really shines. His General Responsibility Assignment Software Patterns (GRASP) suggest guidelines for designing classes that work together effectively. Larman believes that the ability to assign responsibilities to classes effectively is one of the most important aspects of good object-oriented design. His patterns allow this to happen and provide an interesting contribution to the design process. (The author also introduces more widely used software patterns to enhance the design process.)

When it comes to coding the design, Java is the programming language of choice for this text. Further chapters discuss how to refine an initial design using an iterative process of software engineering. While it's unlikely that readers will adopt Larman's approach to software design in its entirety, his guidelines--and application of patterns to class design, all documented using UML--make this a worthwhile text for the more experienced reader. --Richard Dragan ... Read more

Reviews (63)

1-0 out of 5 stars practical advice
buy the Sams book by Schmuller "Learn UML in 24 Hours" and the "C# Design Patterns" book by Cooper

good grief...UML is simple enough to learn in 30 minutes
buy a straightforward book that has NO padding

Only Larner, Booch, or Fowler could expand the subject into many pages using padding.

If you liked the book, you are one of:
(1) a sheep
(2) his friend
(3) demented

5-0 out of 5 stars Excellent book to start learning OO paradigm
I try to learn OO for about 2 years. It's very difficult to me to learn it. This book helps me much. By reading the book, i realize that building a good OO-based application is not that difficult. The author has provided easy steps to be followed. If you want to learn how to build a masterpiece app, buy this book

5-0 out of 5 stars Primo primer on UML & patterns in an agile context
Those who said this book isn't applicable to the real world must not work in the real world.The agile UP implementation described herein addresses many of the problems faced by front-heavy software methodologies today.I work for an enterprise consulting firm, and would like to get everyone at my company to read this book.

It is an excellent primer on using UML and patterns in the context of an agile unified process, with examples in Java.Even as an experienced architect/developer, I found the book enlightening -- it's definitely not your standard "intro for dummies" book.Although I'm a big Fowler fan, I found its treatment of UML to be much more applicable (love the examples) than UML Distilled.It's also a great introduction to why and how to implement an agile process.A particular favorite of mine is its laundry list of things that indicate you AREN'T following an agile process, which should be a checklist for software development companies everywhere.

I just wish I could give this book more stars! ... Read more

Isbn: 0137488807
Subjects:  1. Computer Bks - Languages / Programming    2. Computer Books: General    3. Computers    4. Object-Oriented Programming    5. Object-oriented methods (Compu    6. Object-oriented methods (Computer science)    7. Programming - Object Oriented Programming    8. System analysis    9. System design    10. UML (Computer science)    11. Computers / Programming / Object Oriented   


Refactoring: Improving the Design of Existing Code
by Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts
Average Customer Review: 4.5 out of 5 stars
Hardcover (28 June, 1999)
list price: $54.99 -- our price: $47.14
(price subject to change: see help)
US | Canada | United Kingdom | Germany | France

Editorial Review

Your class library works, but could it be better?Refactoring: Improving the Design of Existing Code shows how refactoring can make object-oriented code simpler and easier to maintain. Today refactoring requires considerable design know-how, but once tools become available, all programmers should be able to improve their code using refactoring techniques.

Besides an introduction to refactoring, this handbook provides a catalog of dozens of tips for improving code. The best thing about Refactoring is its remarkably clear presentation, along with excellent nuts-and-bolts advice, from object expert Martin Fowler. The author is also an authority on software patterns and UML, and this experience helps make this a better book, one that should be immediately accessible to any intermediate or advanced object-oriented developer. (Just like patterns, each refactoring tip is presented with a simple name, a "motivation," and examples using Java and UML.)

Early chapters stress the importance of testing in successful refactoring. (When you improve code, you have to test to verify that it still works.) After the discussion on how to detect the "smell" of bad code, readers get to the heart of the book, its catalog of over 70 "refactorings"--tips for better and simpler class design. Each tip is illustrated with "before" and "after" code, along with an explanation. Later chapters provide a quick look at refactoring research.

Like software patterns, refactoring may be an idea whose time has come. This groundbreaking title will surely help bring refactoring to the programming mainstream. With its clear advice on a hot new topic, Refactoring is sure to be essential reading for anyone who writes or maintains object-oriented software. --Richard Dragan

Topics Covered: Refactoring, improving software code, redesign, design tips, patterns, unit testing, refactoring research, and tools. ... Read more

Reviews (103)

5-0 out of 5 stars A MUST read by every software developer...
No matter how many years of programming experience you have, it is a MUST read by every developer who enjoys coding and in particular those who like good coding practices. Clearly explains the concept of refactoring and all the benefits it brings in while improving the design and readability of a software application.

5-0 out of 5 stars valuable reference book
While it is no groundsbreaking stuff, it is very useful for people who want to bring better design into existing code; or those who are just unhappy with the existing code. It clearly identified common problems with existing code and provides techniques to help you make it better. While experienced programmers have most likely used some of these techniques on their own, reading this book helps you remember/organize these techniques in your mind. One of the most useful things is that Martin outlines the steps to take to get to the desired code - each step is very small so as to minimize your chance of screwing it up.

4-0 out of 5 stars Teaches concept not coding
Some of the reviews here have focused on this book as a way of learning coding techniques for refactoring. Other reviews have focused on refactoring being another term for what they have already being doing. While learning some new coding techniques might be a side effect of reading this book, the real value of this book is descibing a process and terminology for facilitating refactoring - something that many developers have done on an ad-hoc basis for years. It has been invaluable in broadening the acceptability of refactoring, an activity that was often dismissed as not being a good use of development resources time. It also gives a vocabulary for discussing refactoring rather than relying on engineers own adhoc practices. And there's probably a few refactoring techniques that won't seem obvious.

For C# users,you may wish to look at NUnit.org for a .Net version of the JUnit software mentioned in the book.


... Read more

Isbn: 0201485672
Subjects:  1. Computer Bks - Languages / Programming    2. Computer Books: General    3. Computers    4. Object-Oriented Programming    5. Object-oriented programming (C    6. Object-oriented programming (Computer science)    7. Programming - General    8. Programming - Object Oriented Programming    9. Software refactoring    10. Computers / Programming / Object Oriented   


$47.14

AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis
by William J.Brown, Raphael C.Malveau, Hays W. "Skip"McCormick, Thomas J.Mowbray
Average Customer Review: 3.0 out of 5 stars
Hardcover (20 March, 1998)
list price: $44.99 -- our price: $30.59
(price subject to change: see help)
US | Canada | United Kingdom | Germany | France

Editorial Review

If patterns are good ideas that can be re-applied to new situations, AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis looks at what goes wrong in software development, time and time again. This entertaining and often enlightening text defines what seasoned developers have long suspected: despite advances in software engineering, most software projects still fail to meet expectations--and about a third are cancelled altogether.

The authors of AntiPatterns draw on extensive industry experience, their own and others, to help define what's wrong with software development today. They outline reasons why problem patterns develop (such as sloth, avarice, and greed) and proceed to outline several dozen patterns that can give you headaches or worse.

Their deadliest hit list begins with the Blob, where one object does most of the work in a project, and Continuous Obsolescence, where technology changes so quickly that developers can't keep up. Some of the more entertaining antipatterns include the Poltergeist (where do-nothing classes add unnecessary overhead), the Boat Anchor (a white elephant piece of hardware or software bought at great cost) and the Golden Hammer (a single technology that is used for every conceivable programming problem). The authors then proceed to define antipatterns oriented toward management problems with software (including Death by Planning and Project Mismanagement, along with several miniature antipatterns, that help define why so many software projects are late and overbudget).

The authors use several big vendors' technologies as examples of today's antipatterns.Luckily, they suggest ways to overcome antipatterns and improve software productivity in "refactored solutions" that can overcome some of these obstacles. However, this is a realistic book, a mix of "Dilbert" and software engineering. A clever antidote to getting too optimistic about software development, AntiPatterns should be required reading for any manager facing a large-scale development project. --Richard Dragan ... Read more

Reviews (38)

4-0 out of 5 stars A good start
Now that Design Patterns have been in the main stream for a decade or so, the idea is ready for rejuvenation. "Antipatterns" does a good job at its part of that update. The full analytic technique should include
-- patterns (what works well)
-- antipatterns (what fails miserably, sooner or later), and
-- refactoring or reengineering (connecting the two).

So far, that trio hasn't been put together in a systematic way. This book is a fair first stab at the list of common offenders, though. It has an exploratory style - it distinguishes major and minor (mini) problems, while trying out different ways of expressing evils of different scales. It proposes a systematic way to diagnose each problem, identify causes, and overcome the problem that left the mess in the first place. This is all good, even if Brown et al. haven't left the study in its final form.

This book may have lasting value, if only because it's the first to use the "patterns" methodology in studying what not to do. It's good for beginners who haven't seen the messes first-hand, and good for experienced developers who want to systematize their scars and war stories.

2-0 out of 5 stars A good idea, a very boring and dissapointing implementation
I was very anxiuos about reading this book. Before of purchasing it, I had already read some info and presentations on the web (c2 wiki, antippaterns site, etc.). I already knew the catalog and i'd like it very much.

But the book...what can i say of the book? first of all, I found it quite boring and verbose. The same could have been sayed using half of the words or maybe less...

In the book I've found a couple of annoying things:
- The authors quote themselves ALL the time
- The solution to ALL architecture antipatterns (and software as well) includes a reference to CORBA, OMG IDL or open systems...There are more things in the world! What can we, developers in sin, that don't use open systems or corba do?!?!
- They never do quote the GoF work, altough in same cases it would be very helpful, instructive and fair. In turn, they quote to their CORBA patterns book
- They only quote the GoF to say that their patterns are complex and that antipatterns are easier and funnier. Couldn't disagree more on this!
- There are some contradictory ideas throughout the book
- They are doing themselfs in some of the antipatterns (I would not say which ones, but after a quick read is easy to guess ;))
- The second chapter, the reference model, is very boring and with lots of unnecesary rethoric
- In fact, all the book is full of unnecesary and unpleasant rethoric stuff
- After reading the book from cover to cover, I realized that just reading the "Appendix A" I would had enough
- The name of the book is tricky. They don't say nothing about CORBA, but inside the book they say that this is the companion book of "CORBA Design Patterns"
- Many of the solutions are biased
- Their concept about refactoring is quite "fuzzy"...

There are some good points on the book:
- The catalog is quite interesting.
- Some patterns are nicely developed and fun to read
- Being familiar with the catalog allows to find easily antipatterns in everyday work
- The final appendix is a very nice compilation that offers a good view to the catalog

Anyway, the point is: don't buy this book. You can get the same in the web for free, saving money and time

5-0 out of 5 stars Joy and Pain
I picked up this book at one of the few remaining good bookstores that caters to IT professionals and found it an enjoyable read. Some may be turned off by the book as it does contain some highly speculative statements that are not supported by facts. For those who refuse to remove the stick from their XXXX then don't buy this book.

For those who want a good read on the IT profession as a whole, then I recommend it. If you enjoy Dilbert, you will enjoy this one as well. ... Read more

Isbn: 0471197130
Subjects:  1. Antipatterns (Softwear enginee    2. Computer Bks - Languages / Programming    3. Computer Books: General    4. Computer software    5. Computers    6. Development    7. Programming - Software Development    8. Programming - Systems Analysis & Design    9. Reliability    10. Software Development    11. Software refactoring    12. Computers / Programming / Systems Analysis & Design    13. Object-oriented programming (OOP)    14. Software engineering    15. Systems management   


$30.59

Pattern Languages of Program Design (Pattern Languages of Program Design)
by James O. Coplien, Douglas C. Schmidt
Average Customer Review: 3.5 out of 5 stars
Paperback (02 May, 1995)
list price: $44.99 -- our price: $40.09
(price subject to change: see help)
US | Canada | United Kingdom | Germany | France

Editorial Review

Pattern Languages of Program Design is the first of three volumes of groundbreaking research on patterns, ranging from smaller-scale design patterns to larger patterns useful for software architecture and process engineering.Early chapters look at frameworks and components for engineering solutions to particular types of problems at a higher level, such as looking at patterns as "tools and materials" that can be used to solve problems effectively.The guide also discusses how to use patterns with interpreters and client-server systems.

Distributed processing is a difficult and exciting area of computing, and patterns presented in Pattern Languages of Program Design can help solve some of the problems of scalability, concurrency, and transaction management. These patterns include several business objects for managing transactions and accounts, as well as for optimizing queries across distributed systems.

The middle section of this text applies patterns to the software engineering process itself and several papers (including one intriguingly called "Caterpillar's Fate") show how the pattern movement can benefit software engineers and managers. Further material looks at the process of defining and implementing patterns. (Discovering patterns is only a start; learning to reuse them effectively is another challenge.) Final chapters look at patterns that manage state and events for real-time and behavioral systems.

Although the first installment of Pattern Language of Program Design offers a decidedly mixed bag of essays, it is particularly strong on distributed systems and provides a strong overview of some central thinking on pattern research, which is still relevant. --Richard Dragan ... Read more

Reviews (2)

5-0 out of 5 stars Correction Please
Well, suffice it to say the one review here, aside from having nothing to say, could not be farther from the truth. I still open this book all the time. The whole series of PLoP books are immensely useful texts. To tell the truth, these compilation books of papers are, if they are good, in their own realm, far above what you will get from one author. Too much of the computer press turns out the 'work' of exhausted people who are clearly trying to spread a couple ideas across a whole book. Even the Gang of Four book is really a compilation of sorts.

Anyway, this book has many good things in it. Anyone who is interested in Patterns should have the whole series of PLoP books.

2-0 out of 5 stars The very beginning of Patterns movement
This book is really reserved for pattern's fans, because material inside is essentially focused on processes patterns, and design materials are expressed in a textual way. Anyway, some ideas are good to be kept aside,but amount of such ideas don't justify the book size. ... Read more

Isbn: 0201607344
Subjects:  1. Computer Bks - Languages / Programming    2. Computer Books: Languages    3. Computer software    4. Development    5. Object-Oriented Programming    6. Programming - Object Oriented Programming    7. Programming Languages - General    8. Software Development    9. Computers / Programming / Object Oriented   


$40.09

Pattern Languages of Program Design 2 (Pattern Languages of Program Design)
by John M. Vlissides, James O. Coplien, Norman L. Kerth, Norman Kerth, James] Coplien
Average Customer Review: 4.0 out of 5 stars
Paperback (14 June, 1996)
list price: $42.95 -- our price: $38.07
(price subject to change: see help)
US | Canada | United Kingdom | Germany | France

Editorial Review

The second volume in the Pattern Languages of Program Design series offers plenty of hands-on design patterns, including examples drawn from C++ to illustrate pattern use in the real world. The book starts out with some useful programming tips (called idioms) in C++ and Smalltalk for managing memory efficiently and writing faster programs. Subsequent sections look at design patterns (perhaps the most immediately useful kind), including the Command Processor for executing commands, and the Observer Pattern for building efficient components. There's some extensive research on the Proxy pattern, which presents many extensions for a variety of network and distributed solutions. A variety of special-purpose patterns come next, offering expertise on how to organize multimedia applications and design backup redundancy into software. Further chapters in this book cover patterns and how they apply to the software-engineering process. A particular highlight is Frank Buschmann's treatment of reflection, which allows for highly customizable objects and an evaluation of a variety of patterns for managing software projects.

Some of the most accessible and intriguing material are the discussions on patterns for use in the classroom, how to create effective demonstration software, and how to set up a Web site for archiving essays. The book closes with papers on concurrency and distributed systems, featuring several tried-and-true patterns for minimizing the difficulties inherent in large-scale systems and reactive systems (which must process events from users or other inputs in real-time). In all, this second compendium of pattern research has a good mix of the accessible and the arcane and is a worthwhile choice for your library. --Richard Dragan ... Read more

Reviews (2)

3-0 out of 5 stars Rich for ideas, poor for effective solutions
The article gathered here are essentially alexandrian like papers, where general ideas and goals appears clearly, but expressed in a very textual way. So, there is not a lot of stuff on effective design patterns.Hopefully there is some (and even good ones), but it's not obvious that itjustify the book size. If you are rather new to patterns (you've just readthe "Design pattern" and / or "Pattern oriented softwarearchitecture"), consider first the third volume. If you like it, thenconsider to buy this one. If you REALLY REALLY like it, then consider tobuy the first volume

5-0 out of 5 stars Pattern articles capture expertise!
I was at the PLoP conference where the articles in this book were written (mine is number 24).It's a writers' workshop where each paper is metaphorically ripped in shreds and then reassembled, better than before.We worked hard to make these patterns right.Did our work pay off?You better believe it.I've read this book and the first in the series both cover to cover, and the best of this book is equal to the best of the first one.The average quality is higher.

Buy it just for Crossing Chasms, a comprehensive look at all the headaches you get when you try to marry relational databases to object systems.Or buy it just for Demo Prep, which will tell you how to achieve your goals with software demos - happy customers, happy programmers.

Or maybe you need to read my article, Patterns for Classroom Education, which tells you how (and why) to design a course to teach computer programming - or any technical skill. ... Read more

Isbn: 0201895277
Subjects:  1. Computer Bks - Languages / Programming    2. Computer Books And Software    3. Computers    4. Object-Oriented Programming    5. Programming - Object Oriented Programming    6. Programming - Software Development    7. Programming Languages - General    8. Software Development    9. Computers / Programming / Object Oriented   


$38.07

Pattern Languages of Program Design 3
by Robert C. Martin, Dirk Riehle, Frank Buschmann
Average Customer Review: 4.0 out of 5 stars
Paperback (07 October, 1997)
list price: $41.95 -- our price: $36.30
(price subject to change: see help)
US | Canada | United Kingdom | Germany | France

Editorial Review

The third book in a series, Pattern Languages of Program Design 3 discusses how to catalog software patterns, which are reusable, higher-order designs. This volume presents over two dozen white papers on newly "discovered" patterns within a wide variety of contexts. The editors have grouped these patterns by topic so you can choose what interests you. Each pattern profile features a short introduction to show you what each pattern might be good for.

"General purpose" design patterns include the Null Object, the Manager, and the Product Trader patterns, and another section improves on the Visitor pattern. These patterns allow classes to borrow the methods of other classes without using inheritance. Some of the most challenging patterns in this book are good for distributed processing, including Acceptor and Connector and Object Recovery. Basic research in object-oriented design (OOD) is apparent in the Serializer pattern, which implements persistence for objects, another unusually difficult aspect of object design to get right. Another useful section introduces "domain specific" patterns--or patterns that solve particular real-world problems--with several patterns for transportation systems and fire alarms.

The book closes with more esoteric explorations of patterns for developers, including patterns for effectively designing in teams and using software testing patterns. Judging from the rich selection of the ordinary and the bizarre, there seems to be no end in sight for the business of discovering patterns. For those interested in expanding their collection of patterns, this volume offers a fascinating array of new specimens. ... Read more

Reviews (2)

4-0 out of 5 stars Enjoyable book for the friends of software patterns
This book has quite some prerequisites for its potential readers. You should have a working knowledge of the patterns of the too basic books ("Design Patterns" by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides and "Pattern-Oriented Software Architecture" by Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal). It is helpful to have the too previous conference books as a reference nearby. Yes and you have to cope with C++ (when did you use it last time) and Smalltalk.

If you are happy with this, you get rewarded by a rich set of ideas and insights. The book just draws you in. This is a conference book by many authors. But due to their shepherd and writers workshop efforts the book nearly reads like being written by one author/author team. The level is excellent. Reading this book is a nice way to spend your time.

4-0 out of 5 stars A Lot of good stuff
When looking at the PLOPD serie, it become obvious that material become more and more mature. We'll find in this book good design patterns we can directly apply in our everyday work. Yo will probably found that allpatterns are not usefull, but only a subset, but it's however an enoughreason to buy this book. ... Read more

Isbn: 0201310112
Subjects:  1. Computer Bks - Languages / Programming    2. Computer Books: General    3. Computer software    4. Computers    5. Development    6. Object-Oriented Programming    7. Object-oriented programming (C    8. Object-oriented programming (Computer science)    9. Programming - Object Oriented Programming    10. Programming - Software Development    11. Programming Languages - General    12. Software Development    13. Software patterns    14. Computers / Programming / Object Oriented   


$36.30

Pattern Languages of Program Design 4(Software Patterns Series)
by Neil Harrison, Brian Foote, Hans Rohnert
Average Customer Review: 4.0 out of 5 stars
Paperback (17 December, 1999)
list price: $42.95
US | Canada | United Kingdom | Germany | France

Editorial Review

Software patterns are reusable, higher-order designs that recur repeatedly across applications. Pattern Languages of Program Design 4 offers a wide variety of these forms from different areas of computing. Especially valuable to C++ or Java programmers, but useful to anyone who designs software for a living, this book is a worthy choice containing dozens of designs that you can incorporate into your own projects.

Arranged in 23 chapters, each containing multiple patterns, the text contains well over 100 software setups on a wide variety of topics. Standout sections here include a compilation of C++ idioms by James Coplien, which are derived from his well-known Advanced C++ Programming Styles and Idioms, a book that helped inspire early pattern-makers. A chapter on managing limited memory provides tips for working with embedded systems on today's handheld devices. Those with a background in engineering will also appreciate the catalog of patterns for finite state machines (FSMs).

Designers have the tendency to make patterns out of what is familiar to most everyone. Several chapters look at patterns used on Web sites (for example, navigation bars) and in wiring together multimedia content. The book also groups management patterns, some of which can be used for improving customer relations and managing software development. The last section, surely the most entertaining, is devoted to software management and describes why most code, over time, devolves into a "Big Ball of Mud."

There is certainly a lot to take away for any designer who reads this book. It is a particularly rich collection of recently "discovered" patterns that will get you thinking about reusable design in your own software. --Richard Dragan

Topics covered: Object-oriented software design patterns, C++ idioms, patterns for managing limited memory, patterns for Smalltalk prototyping, patterns for history and time, security patterns, report patterns, feature extraction patterns, finite state machine (FSM) patterns, patterns for Web sites and multimedia systems, patterns for reusable multimedia artifacts, patterns for telecommunications, patterns for choosing publishable papers for conferences, patterns from writers' workshops, customer interaction patterns, patterns for better software project management. ... Read more

Reviews (1)

4-0 out of 5 stars Okay
Some of the chapters are uninspired formalizations of basic object-oriented concepts, like "Abstract Class" - however, there are a few gems in this book like "Essence" and "RoleObject" . . . definitely not as rewarding as the Gang of Four book,however.I hope someone else reviews the rest of it because I'm certainlynot going to read the whole thing all the way through. ... Read more

Isbn: 0201433044
Subjects:  1. Computer Bks - Languages / Programming    2. Computer Books: Operating Systems    3. Computer software    4. Computers    5. Development    6. Object-Oriented Programming    7. Object-oriented programming (Computer science)    8. Programming - Object Oriented Programming    9. Programming - Software Development    10. Programming Languages - General    11. Software Development    12. Software patterns   


A Pattern Approach to Interaction Design
by Jan Borchers
Average Customer Review: 2.5 out of 5 stars
Hardcover (16 May, 2001)
list price: $69.00 -- our price: $41.63
(price subject to change: see help)
US | Canada | United Kingdom | Germany | France
Reviews (2)

1-0 out of 5 stars A disappointing book, but with some good ideas
This is a deeply disappointing book, typical of a field in which approbation by academic peers seems to be much more important than delivering real help to those designing real user interfaces.

I had hoped for a book dominated by a collection of patterns describing how users interact with technology, particularly computers. Instead the first 3/8 of the book is given over to an almost blow by blow account of each contribution to the development of patterns, their application to IT and finally to HCI. There is actually one important message, that patterns can aid communication not only between IT professionals, but also between professionals and users, as a way of describing both the problem domain and the proposed solution. However, this was almost buried in a detailed discussion of pattern format, which is much less important.

I very nearly gave up reading at this point, which would have been a pity, since the central chapter of the book contains some interesting patterns, albeit of limited practical use. The "How to Play the Blues" pattern language is an entertaining demonstration of how to use patterns to describe a problem domain, while the patterns for interactive exhibits are a good set of HCI patterns, although focusing on the interaction of regular users with business computer software would be of more general practical use. I also really liked the pattern layout, relying on typography and styles rather than headings to standardise the structure, which definitely enhanced readability.

Unfortunately the book does not sustain the interest, and after a single chapter on patterns returns to a strange and lengthy self-review, to the extent of reprinting the review comments the author received on a draft version. This is ridiculous.

The book's malaise seems to be symptomatic of the whole discipline. The referenced web sites and books are not much better, with all but a few noble exceptions concentrating on academic discussions about patterns, rather than building a real pattern collection.

I am convinced that patterns can be really useful in the area of human-computer interaction and user interface design, just as they have been in many other areas of IT. I also think the arguments about style and format will be won by the author of the first good book that concentrates on building a comprehensive and readable set of useful real-world HCI patterns. This isn't it.

4-0 out of 5 stars Great concepts and ideas, despite the examples
This book addresses a basic issue of obtaining repeatable success in user interface design with the use of interaction design patterns. I seldom come across a book that poignantly strikes a chord where I have personally witnessed so much opportunity for improvement in our field. My personal work on hundreds of user interface applications over the past decade have led me to pursue the approach of Visual Design Patterns as a means to achieve more successful and consistent user interfaces. Jan Borcher adds rigor to this approach by providing an opening round of design techniques and pattern languages for documenting and communicating Interaction Design Patterns using an XML-based notation. His pattern approach draws upon object oriented pattern work by Kent Beck whom I personally was introduced to back in the late 1980's when Kent assisted me designing large-scale applications using Smalltalk for the financial community. The author does an excellent job of explaining how patterns can be used to capture, share and structure user interface design knowledge from their projects and how to use the patterns to allow for better communication among multi-disciplinary teams. My only issue with the book is the detailed working example used to drive home the concepts. For this, Jan uses an Interactive Music Exhibit to explain the detailed implementation of his ideas. While this approach can be very effective for some designers, my fear is that a large part of the book's audience will be left scratching their heads as they try to relate the interactive music case study examples to more business oriented examples facing them in their daily life. ... Read more

Isbn: 0471498289
Sales Rank: 492461
Subjects:  1. Computer Bks - Languages / Programming    2. Computer Books And Software    3. Computer software    4. Computers    5. Development    6. Human-Computer Interaction    7. Networking - General    8. Programming - Software Development    9. Software Development    10. User Interfaces    11. Virtual Reality    12. Computer Communications & Networking    13. Computers / User Interfaces    14. Internet languages    15. Software engineering   


$41.63

Data Model Patterns: Conventions of Thought
by David C. Hay
Average Customer Review: 4.5 out of 5 stars
Hardcover (01 November, 1995)
list price: $39.95 -- our price: $39.95
(price subject to change: see help)
US | Canada | United Kingdom | Germany | France
Reviews (16)

5-0 out of 5 stars Learn to think like a data modeler
I can understand why this book has gotten some mixed reviews. The author addresses many common modeling problems. But readers looking for instant solutions to those problems will probably be disappointed. Those looking for oop patterns are reading the wrong book. And anyone looking for a beginner's introduction to data modeling will be completely lost. But if you've been feeling as if your database designs could be better, but you're not sure how, you need this book.

Mr. Hay covers many real-world modeling problems. His discussions of these problems give incredible insight into the thought process of a professional data modeler. That is the true value of this book.

I first read this book about three years ago and now I am totally embarrassed by every database I created before. I've re-read it many times since and my copy is beaten and dog-eared. Thankfully, it's a hardcover book.

Make sure you read all the footnotes in the book. Some of them are hysterically funny.

5-0 out of 5 stars The Thinking Person's Resource
There are two ways of modelling business environments.

The first is how they like you to do it in tightly controlled organizations like the military -- "Follow this exact nine-step procedure and your data model will fall out the end of it".

The second is to apply an intelligent, informed, and flexible approach -- it is this method that the book addresses, and it is far superior in my eyes.

Those interested in data modelling by rote should look elsewhere, because this is an excellent resource that will be wasted on you.

2-0 out of 5 stars Based on Entity-Relationship modelling
Be aware entity-relationship modelling is considered harmful, being incapable of representing a full, detailed relational model and even being misleading quite often.

Since this book is based on ERM, it won't be ever a definitive reference.It may have other qualities. ... Read more

Isbn: 0932633293
Sales Rank: 52986
Subjects:  1. Business / Economics / Finance    2. Computer Books: General    3. Computers    4. Data Structures    5. Data structures (Computer scie    6. Data structures (Computer science)    7. Database Management - General    8. Database design    9. Information Management    10. Management Information Systems    11. Database Engineering    12. Information Storage & Retrieval   


$39.95

Software Architecture in Practice
by Len Bass, Paul Clements, Rick Kazman
Average Customer Review: 4.5 out of 5 stars
Hardcover (30 December, 1997)
list price: $49.99
US | Canada | United Kingdom | Germany | France
Reviews (18)

3-0 out of 5 stars too academic to be of practical use
This book is too academical to be of any practical use.

I have read about 60% of the book and I could not find anything that I could actually use.
This is the problem with books written by academics or people who have not actually done software development in the past 5 years, or so.
This problem becomes even worse when the authors are working for the Software Engineering Institute - SEI (the guys who believe in methodology above anything else).

This is book is filled with classifications and very terse or abstract statements.

I would not recommend it to anybody who actually hopes to learn something they can apply at work.

Another recommendation: if you want to read good, down to earth books, avoid those written by people working for SEI.

2-0 out of 5 stars More theoretical
Contrary to the title, I found the book more on the theoretical side. Lots of classifications with questionable practical value. The examples are high-level ending up with more classifications. Same observation about the simplistic figures.
Chapter 13-The World Wide Web gives an introduction of the initial Web requirements, while Chapter 16-J2EE/EJB explains general ideas about EJB. My benchmark for an "solid" book, with somehow related topic, would be "Design Patterns" by Gamma,Helm,Johnson,Vlissides.

4-0 out of 5 stars Good Undergraduate Text
I appreciated the authors' "real world" sense in their discussions.They don't get overly religious about a documentation style and they emphasize the need for a holistic approach to understanding architecture's impact on the application and the organization (e.g. work assignments, organizational view, risk assessment, ATAM as a communication tool etc).

I particularly liked their presentation on the building blocks of an architecture as well as their discussion on tactics.

My only criticism, and the students' as well, were the study cases.They threw too much at the reader about specific projects (some which were never completed).I think there should have been a better balance on the type of applications as well.

I do plan on using this text again for my class next year. ... Read more

Isbn: 0201199300
Sales Rank: 268339
Subjects:  1. Computer Architecture    2. Computer Bks - Languages / Programming    3. Computer Books: Integrated Systems    4. Computer software    5. Computers    6. Programming - Software Development    7. Programming Languages - General    8. Software Engineering    9. System design   


Design Patterns in Communication Software
by Douglas C. Schmidt, Linda Rising, Donald G. Firesmith
Average Customer Review: 2.5 out of 5 stars
Hardcover (15 September, 2001)
list price: $75.00 -- our price: $75.00
(price subject to change: see help)
US | Canada | United Kingdom | Germany | France
Reviews (3)

1-0 out of 5 stars Same tired BS repackaged and resold -- once again
Doug Schmidt is an amazing guy: he seems to have decided to keep reselling the same clumps of his ACE junk till the rest of his life, drawing a steady prebend from it, whereas it's very clear that, even regardless of the original merit of this product, it's time to let go of the benefice. Haven't we learned this Reactor/Acceptor drivel by heart already? Well, if not, it's here again. It's gotta be now what, the fifth book with it? Or more? Not counting papers... Quit milking this cow, dear Professor!

And yet, that's the better part of the book, actually. How many times do I need to read about the HOPP pattern? Is it a strike of genius or something? It was published at least five years ago in the first pattern-collection book, and it didn't become any less uninteresting now. Well all right, there's one piece there that perhaps is somewhat curious: Greg Utas's "Pattern Language of Call Processing" (a very narrow domain, but considering the rest, not bad.)But that's it; the rest is just a load of tripe, sometimes simply unreadable.

This patterns stuff is brazenly overhyped. There's one and only decent book on this very simple topic -- the original Gamma et al. one. Get it, understand the idea, and be done with it. It's amazing how these parasitical professors and their graduate-student flunkeys simulate high science. They take some nonsense (or, at best, something very trivial), write it up in a most abstruse, pretentious language, add a bunch of ponderous diagrams, and shamelessly push the results -- over and over again! -- as some kind of very important scientific discovery.

This book, there's nothing to it, zilch ...other than a most regrettalble waste of dead trees. Let it be safely remaindered.

PS. I find the first review on this page (the five-star one) suspicious: I've checked out this guy's reviews page and it seems like he reads inhumanely huge numbers of technical books -- and has never met a book he didn't like; nearly all are five stars. That can't be. Looks like what we have here is a professional a work.

1-0 out of 5 stars Disappointment
Disappointment

I will begin in that: If the book did not have the third part of
Dr. Schmidt, that book would be rated *zero* stars !!!
The following sentences are concerned to the first and second part
of the book:
Patterns ??? I disagree ! Describing a *very* general problem and
telling something like "Try to do it better", is not helping at all !
Maybe the material is immature, or just written very bad.
Not organized at all. I couldn't tell what the... the writer wanted
to explain ! many of the details not interesting simply because there are
not attached to any subject of the specific chapter. It was like reading
a student work (student that miss all the classes).

The third paragraph is very good. You cannot miss a good article of
Dr. Schmidt (The father of ACE).The articles are an
updated version of Dr. Schmidt web-site-articles (The problem was that I have already read all most of his articles before ...).

Conclusion: Take the money and run.

5-0 out of 5 stars Long overdue - excellent resource
This book is divided into small- and large-collections of design patterns, and experience reports, all of which comprise an important body of work supporting one of the most demanding development environments. The patterns that I found most valuable, as well as most applicable to any communications-based architecture are: fault-tolerant telecommunications system patterns (the frameworks that can be mined from the patterns can be tailored to just about any kind of system), and call processing patterns (again, these are applicable to systems outside of the telecommunications domain because they distill complex interrelationships, events and processing requirements into coherent patterns that can be employed in systems that are equal in scope and complexity), and patterns for logging diagnostic messages. In addition, the experience reports in Part III are incredibly valuable to any developer or development organization because they give insight into some of the most challenging problem/solution sets and lessons learned that you're likely to encounter. My favorites are: managing change with patterns, OpenWebserver, and applying design patterns to flexible configure network services in distributed systems. Given the movement towards M-Commerce, extending the enterprise applications suites to PDAs and web-enabled phones, the design patterns will have direct- and indirect-applicability to organizations developing for these environments. Of course, in the telecommunications industry these patterns are directly applicable across the board. This is an important work that provides the collective knowledge and experience of some of the telecommunication industry's best and brightest. For the intended audience and the secondary audiences that I cited this book is one of the most valuable resources a development organization can acquire. ... Read more

Isbn: 0521790409
Sales Rank: 702399
Subjects:  1. Communications software    2. Computer Bks - Languages / Programming    3. Computer Books: General    4. Computer software    5. Computers    6. Development    7. Industrial Technology    8. Networking - General    9. Programming - Software Development    10. Software Development    11. Software patterns    12. Systems Engineering    13. Computer Communications & Networking    14. Computer Programming    15. Computers / Programming / Software Development