| Patterns
for Managing Software Evolution |
| Modell-View-Controller
/ Composite / Object for State / Editor / Observer / Collect Damage / Update at User Speed / Wrapper |
| Handlers
for Seperating Assembly and Processing |
| Streams |
| Reactor |
| DiscordantRewardMechanisms |
| ManagerControlsProcess |
| PlugCompatibleInterchangeableEngineers |
| AnalysisParalysis |
| AppointedTeam |
| CreepingFeaturitis |
| DesignByCommittee |
| Egalitarian
Compensation |
| GeographicallyDistributedDevelopment |
| KitchenSinkDesign |
| RapeAndPasteProgramming |
| Story |
| Early
Program |
| Architecture
Prototype |
| Interface
Prototype |
| Framework
Design for End to End Optimization |
| A
Pattern for Printf Debugging and Similar Meta Services |
| Patterns
for Programming Object Communication |
| A
Pattern for Reducing Resource Bottlenecks by Exchanging Resources |
| Roles
Before Objects |
| All
At Once |
| Progress&Training
Teams |
| Sacrifice
One Person |
| Team
Per Task |
| Teams
Integrate Diversity |
| External
Polymorphism |
| Stairway
to Heaven |
| Type
destroyer is type restorer |
| Asynchronous
Completion Token -- An Object Behavioral Pattern for Efficient Asynchronous
Event Handling |
| Active
Object -- An Object Behavioral Pattern for Concurrent Programming |
| Double-Checked
Locking -- A Optimization Pattern for Efficiently Initializing and Accessing
Thread-safe Objects |
| External
Polymorphism -- An Object Structural Pattern for Transparently Extending
Concrete Data Types |
| Service
Configurator -- A Pattern for Dynamic Configuration of Services |
| Half-Sync/Half-Async
-- An Architectural Pattern for Efficient and Well-structured Concurrent
I/O |
| Router
-- An Object Behavioral Pattern for Communication Gateways |
| Thread-Specific
Storage -- An Object Behavioral Pattern for Accessing per-Thread State
Efficiently |
| Acceptor-Connector
-- An Object Creational Pattern for Connecting and Initializing Communication
Services |
| Proactor
-- An Object Behavioral Pattern for Demultiplexing and Dispatching Handlers
for Asynchronous Events |
| Reactor
-- An Object Behavioral Pattern for Event Demultiplexing and Event Handler
Dispatchin |
| Leading
organizations build a strong software architecture that provides the framework
for reuse activities. |
| Leading
organizations use a software development process that promotes and controls
reuse. |
| Leading
organizations reuse more than just code. |
| Leading
organizations practice domain engineering. |
| Leading
organizations integrate reuse into project management, quality initiatives
and software engineering activities. |
| Leading
organizations have an organizational structure that facilitates partnering
to achieve reuse across product boundaries. |
| Leaders
use automation to support reuse when and where it makes sense for both
managers and technicians as driven by business and technical needs. |
| Patterns
for Interactive Applications |
| A
Pattern for Separating Assembly and Processing |
| Loose
Interfaces -- Parser/Builder -- Hierarchy of Factories -- Handlers |
| Eager
Compilation, Lazy Evaluation |
| Bootstrap
Script |
| Broadcaster |
| Component
Interpreter |
| Configuration
Script |
| Active
File |
| Glue
Code |
| Command
Interceptor |
| Scripted
Components |
| Abstract
Session - an Object Structural Pattern |
| Streams |
| Author
Biographies |
| Consistent
Headers and Footers |
| Document-Format
Consistency |
| Document-Content
Listing |
| Immediate
Document Discussion |
| Locatable
Documents |
| Downloadable
CGI's |
| Evolving
Documents |
| Exposable
Guts |
| Interlaced
Images |
| Known
Audience |
| Link-Type
Distinction |
| New-Document
Notification |
| Node-Based
Documents |
| Reachable
Author |
| Readable
Documents |
| Readable
Hyperlinks |
| Readable
Indices |
| Reference
Section |
| Relevant
Dates |
| Sparing
Images |
| Worksheet
Documents |
| Animate
the Data |
| Determine
The Actors |
| Factor
Out Common Attributes |
| Identify
Problem Domain Relationships |
| Identify
The Nouns |
| Introduce
Virtual Attributes |
| Normalize
The Roles |
| Time
Thread Analysis |
| Behavioral
Requirements |
| Business
Rules |
| Classifying,
Associating and Grouping the Domain Objects |
| Managing
and Meeting Customer Expectations |
| Customer
Rapport |
| Defining
Requirements |
| Elaboration
of the Domain Objects |
| Finding
and Defining the Domain Objects |
| Information
Needs |
| Object
Aging |
| Object
Stereotypes |
| Pragmatic
External Requirements |
| Problem
Domain Analysis |
| Prototypes |
| Requirements
Specification |
| Requirements
Validation |
| Sponsor
Objectives |
| Organization
Follows Location |
| Organization
Follows Market |
| Developer
Controls Process |
| Patron |
| Architect
Controls Product |
| Conway's
Law |
| Architect
Also Implements |
| Review
the Architecture |
| Code
Ownership |
| Application
Design is Bounded By Test Design |
| Engage
QA |
| Engage
Customers |
| Group
Validation |
| Scenarios
Define Problem |
| Mercenary
Analyst |
| Manager |
| Gatekeeper |
| Shaping
Circulation Realms |
| Move
Responsibilities |
| Buffalo
Mountain |
| Self-selecting
team |
| Work
Flows Inward |
| 3
to 7 Helpers per Role |
| Named
Stable Bases |
| Divide
and Conquer |
| De-couple
Stages |
| Hub-Spoke-and-Rim |
| Aesthetic
Pattern |
| Take
No Small Slips |
| Solo
Virtuoso |
| Developing
in Pairs |
| Interrupts
Unjam Blocking |
| Don't
Interrupt an Interrupt |
| Compensate
Success |
| Size
the Schedule |
| Form
follows Function |
| Domain
Expertise in Roles |
| Phasing
it In |
| Apprentice |
| Class
Graph |
| Context |
| Inventor's
Paradox |
| Structure-Shy
Object |
| Structure-shy
Traversal |
| Deprecation |
| Divide
and Modernise |
| Externalising
an internal representation |
| Portability
through backend abstraction |
| Naming |
| Quality
Design Solution for Object Synchronization |
| Customizable
Object Synchronization Pattern |
| Component
Configurer: A Design Pattern for Component-Based Configuration |
| Passive
Replicator: A Design Pattern for Object Replication |
| Functionality
and Partitioning Configuration |
| Naming
and Identification in Distributed Systems: A Pattern for Naming Policies |
| Customizable
Object Recovery Pattern |
| Distributed
Proxy: A Design Pattern for Distributed Object Communication |
| Distributed
Proxy: Design Pattern and Framework |
| Objektorientiertes
Design Pattern für Multimedia-Oberflächen |
| Show
Computer is Thinking |
| Give
a Warning |
| Interaction
Feedback |
| Think
Twice |
| Command
Control Center |
| Explorable
Interface |
| Garden
of Windows |
| Goal
Oriented Areas |
| Modeless
Feedback Area |
| Multiple
Settings |
| Single
Setting |
| Visual
Symbols |
| Foundation
Class Package |
| Common
Roles |
| Concurrently
Developed Packages |
| Defined
Roles |
| Developer
Audience |
| Example
Packages |
| Existing
Classes As Roles |
| Feature
Kit Packages |
| Fundamental
Roles |
| Interface-Oriented
Code |
| Interface
Package |
| Packages
as Building Blocks |
| Refocused
Abstract Class |
| Simple
Classes |
| Tool
Kit Package(s) |
| Use
Patterns |
| Utilities
Package(s) |
| Lazy
Optimization: Patterns for Efficient Smalltalk Programming |
| Added
Value |
| Necessary
Failures |
| Progressive
Foundation |
| Revised,
Realistic Resource Application |
| Studio
Approach |
| Valued
Individuals |
| Shared
Vision AND Shared Reality |
| Artificial
Accessors |
| Artificial
Delegation |
| Cached
Extensibility |
| Extensible
Attributes |
| Generated
Accessors |
| Selector
Synthesis |
| Reusability
Through Self-Encapsulation |
| Actuator |
| ContinuousComputation |
| Pipe |
| Filter |
| DisplayGraphic |
| DisplayValue |
| DisplaySlider |
| DisplayAttribute |
| AttributeProxy |
| FollowRelationAndSum |
| FollowRelationAndCollectObjects |
| FollowRelation |
| Traversal |
| VariableValue |
| ConstantValue |
| BufferedValue |
| AttributeValue |
| MethodBranch |
| MethodComposition |
| MethodAlias |
| MethodCall |
| StateMachineBlocked |
| StateMachineActive |
| StateMachineTriggered |
| StateMachine |
| ISO
IDL Idioms |
| Smalltalk
Best Practice Patterns |
| UnixShellPatterns |
| Call
by reference |
| Counted
body |
| Customized
allocation |
| Initialize,
not assign |
| Lifetime
follows scope |
| Return
"this" by ref |
| At-Exit
Callback |
| Foreach
Multiset |
| Traced
Variable |
| Widget
Facade |
| Design
Patterns in Python |
| A
Developer Process Generative Pattern Language |
| "Caterpillar's
Fate: A Pattern Language for Transformation from Analysis to Design" |
| "The
CHECKS Pattern Language of Information Integrity" |
| "New
clients with old servers: a pattern language for client/server frameworks" |
| "A
Pattern Language for Tool Construction and Integration Based on the Tools&Materials
Metaphor" |
| Caterpillar's
Fate: A Pattern Language for Transition from Analysis to Design |
| The CHECKS
Pattern Language of Information Integrity |
| Early
Development |
| Partitioning
Smalltalk Code into ENVY/Developer Components |
| ENVY
Partitioning |
| EPISODES:
A Pattern Language of Competitive Development Part I |
| Code
Formatting Patterns |
| Parallel
Patterns for Synchronization on Shared-Memory Multiprocessors |
| Recurring
Events |
| Stars:
A Pattern Language for Query Optimized Schema |
| Temporary
Variables |
| User Interface |
| Understanding
and Using ValueModels |
| A
Pattern Language for Pattern Writing |
| Experiences
-- A Pattern Language for User Interface Design |
| Evolving
Frameworks |
| Patterns
for Abstract Design |
| Find
Architectural Elements, Identify and Seperate Interactions, Generate Open
Arcchitectures, Convert Interactions to Collaborations, Choose Implementaion
Techniques, In/Out Module Interface Contract |
| System
Test Pattern Language |
| RAPPeL:
A Requirements Analysis Process Pattern Language for Object Oriented Development |
| Fault-Tolerant
Telecommunication System Patterns |
| Pattern
Language for the Perception, Design and Implementation of Distributed Application
Partitioning |
| PattBPR-
A pattern language for business process reengineering |
| Programmers'
Canvas |
| Patterns
for Building an Unusually Adaptable Java Framework |
| Philosophical
Patterns In Software Development |
| Expedient
Smalltalk Programming / "Smalltalk Scaffolding Patterns" |
| Decoupling
of Object Oriented Systems |
| Error
Handling |
| Relational
Database Access Layers |
| Client/Server
Architectures for Business Information Systems |
| Form-Based
User Interface |
| Mapping
Objects to Tables |