| 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 |