| Publications | SCM Patterns | Suggested Books | Community | Software Development | About this site |
|
berczuk.com Home
|
This book shows you how to apply patterns and
refactorings to the task of untangling legacy code so that you can
apply effective techniques like test driven development as you
change the code. Since there will always be legacy code, this is a
very practical book. The author emphasises the role of testing as
a change enabler in a way that echos the the ideas in the SCM
Patterns book.
The material in this book is excellent, having been developed over a
number of years. In addition to wonderful, well written, patterns that
advise you on how to spread ideas, this books is full of stories that
help you to understand how to use the patterns effectively to influence people,
overcome roadblocks, and spread new ideas. Anyone who has new ideas to
share will benefit from this book including: Managers and Team
members, Professionals and Volunteers, people in industry and those in
community organizations.
Developing a language to enable communication
between team memembers and with domain experts seems like a
common enough idea. Most teams do not do this and start their
application by solving technology problems. This book
describes the utility of a domain-driven approach to building
systems and shows you how to apply this approach
effectively. This book makes excellent use of patterns to
demonstrate how design, architecture and development practices
such as continuous integration interact with each other to
determine how good your application will be. Like all good
patterns books, the information in this book seems obvious
once you read it. But it is material most people overlook. Buy
this books to understand the value of a domain driven
approach, or if you already understand that, use it as a guide
for teaching others.
People build software systems in organizations, and
the interesting problems often occur at the places where
technology issues and people issues intersect. An
understanding of how software organizations work is
essential to building good software systems. Coplien and
Harrison are two of the pioneers in writing patterns about software
organizations, and this book is a useful guide to helping you
understand how to build effective software development
organizations.
This book will serve you well whether you know
Patterns and are trying to learn C# or know C# and are trying to
understand Patterns better. It is not a replacement for the Design
Patterns Book or a good C+ reference, but it is an excellent companion
for both.
This is one of the most useful books on software architecture that I have read. It discusses the qualities of a good architecture, and how the organization and process relates to the architecture.
Through examples and a collection of patterns, this
book explains what test driven development is, and what it is
for. Every agile developer should read this book.
All you ever wanted to know about product
management, but were afraid to ask. This book discusses the
relationship between technical-architecture and
marketing-architecture. This is an oft-neglected subject, but
it is important as marketing and technology are both important
for a successful product. This is a great book to read if you
design software systems, or are involved in product
management.
This is a unique book. It tells you about the
writers workshop process. The writers workshop process has its
origins in the creative writing community, and has been used
in the software patterns community. Richard Gabriel explains
how the process can also be used in other domains where
creative effort is involved, such as reviewing marketing
materials. I book for two reasons. First it provide great
insight into the creative process (as applied to anything) and
the values that are used in the writers workshop can benefit
anyone who creates things, even if they don't use the workshop
process. Second, if you do want to use writers workshops, this
book explains the hows and whys of them. I had been involved
in workshopping software patterns since 1995, and I though
that I pretty much understood what they were about. I learned
a lot reading this book. I recommend this book for anyone who
involved in the creative process(of any sort): Software
engineers, writers, teachers, and students.
This book describes Essential SCM
practices. Developers, team leaders and those just learning about
software configuration management should find this book
useful.
This book is an excellent collection of tools to have
available when designing and building enterprise or web
applications. This is more of a patterns collection or pattern
catalog, than a pattern language, but the author ties the patterns
together in a way that makes it possible to compare and contrast the
various approaches. This is also a very readable book. Get a copy,
skim through it to get familiar with what is there, and keep it on
your shelf for ready reference.
Patterns on how to model business and systems and organizations. This book will save you from heading into a lot of dead ends if you walk into a system when you need to model a business process. A book which covers similar material, but from a database modeling point of view is Data Model Patterns by David Hay. While these are "patterns" in the more conventional sense (recurring structures, but not broken down into Problem/Context/Solution), this book will tell you a lot about database design.
This the one book everyone who talks about patterns has should read. It collects the basic software design idioms everyone doing object-oriented software development should know.
Using Design Patterns in more detail. This book discusses some of the fine points of the Patterns in Design Patterns . This is a well written book that is based on a series of columns from C++ Report . Unlike many compilations of columns, this book reads like a coherent book.
This book has system level patterns than design patterns. It also uses a lot of examples from distributed systems.
This book describes what to do to change code that has gotten messy with time, and how to proceeed to make the changes. If you've been doing Object-Oriented programming for a while you probably know much of what is in here, but it is worth reading anyway, both as a reminder, and as a way to explain the techniques to others. Fowler describes the refactorings very clearly, with guidelines on when to use each technique. Like Design Patterns, this book provides a vocabulary for the important techniques you use to change code. The examples are in Java, but the techniques can be adapted to any OO language, such as C++ quite readily.