The Role of Domain Expenence in Software Design
IEEE Transactions on Software Engineering - Special issue on artificial intelligence and software engineering
Novice mistakes: are the folk wisdoms correct?
Communications of the ACM
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
PARIS: a system for reusing partially interpreted schemas
ICSE '87 Proceedings of the 9th international conference on Software Engineering
A cookbook for using the model-view controller user interface paradigm in Smalltalk-80
Journal of Object-Oriented Programming
ET++—an object oriented application framework in C++
OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications
A laboratory for teaching object oriented thinking
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Cognitive issues in reusing software artifacts
Software reusability
Formalizing reusable software components in the programmer's apprentice
Software reusability
Surveying current research in object-oriented design
Communications of the ACM
Unidraw: a framework for building domain-specific graphical editors
ACM Transactions on Information Systems (TOIS)
Advanced C++ programming styles and idioms
Advanced C++ programming styles and idioms
Object-oriented modeling and design
Object-oriented modeling and design
ACM Computing Surveys (CSUR)
Communications of the ACM - Special issue on analysis and modeling in software development
Documenting frameworks using patterns
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
ET++SwapsManager: using object technology in the financial engineering domain
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
A linear constraint technology for interactive graphic systems
Proceedings of the conference on Graphics interface '92
Christopher Alexander: an introduction for object-oriented designers
ACM SIGSOFT Software Engineering Notes
Integrated object-oriented testing and development processes
Communications of the ACM
Ode: a self-guided, scenario-based learning environment for object-oriented design principles
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
Timethread-role maps for object-oriented design of real-time-and-distributed systems
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
Combining contracts and exemplar-based programming for class hiding and customization
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
Design reuse: chemical engineering vs. software engineering
ACM SIGSOFT Software Engineering Notes
How and why to encapsulate class trees
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
A web interface to parallel program source code archetypes
Supercomputing '95 Proceedings of the 1995 ACM/IEEE conference on Supercomputing
Industrial experience with design patterns
Proceedings of the 18th international conference on Software engineering
Design patterns for object-oriented software development (tutorial)
ICSE '97 Proceedings of the 19th international conference on Software engineering
Tiling design patterns—a case study using the interpreter pattern
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A pattern-based application generator for building simulation
ESEC '97/FSE-5 Proceedings of the 6th European SOFTWARE ENGINEERING conference held jointly with the 5th ACM SIGSOFT international symposium on Foundations of software engineering
Proceedings of the 20th international conference on Software engineering
The impact of object-orientation on application development
IBM Systems Journal
Performance management of mobile agent systems
AGENTS '00 Proceedings of the fourth international conference on Autonomous agents
Evolving Object-Oriented Designs with Refactorings
Automated Software Engineering
IEEE Software
Using Patterns to Design Rules in Workflows
IEEE Transactions on Software Engineering
Frameworks in the Financial Engineering Domain - An Experience Report
ECOOP '93 Proceedings of the 7th European Conference on Object-Oriented Programming
StateLator - Behavioral Code Generation as an Instance of a Model Transformation
CAiSE '00 Proceedings of the 12th International Conference on Advanced Information Systems Engineering
CEEMAS '01 Revised Papers from the Second International Workshop of Central and Eastern Europe on Multi-Agent Systems: From Theory to Practice in Multi-Agent Systems
Service design patterns for computational grids
Patterns and skeletons for parallel and distributed computing
Joeq: a virtual machine and compiler infrastructure
Proceedings of the 2003 workshop on Interpreters, virtual machines and emulators
Quality-driven software re-engineering
Journal of Systems and Software - Special issue on: Software architecture - Engineering quality attributes
Design patterns: ten years later
Software pioneers
Domain driven web development with WebJinn
OOPSLA '03 Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
The impact of object-orientation on application development
IBM Systems Journal
Different types of patterns for online-booking systems
TAMODIA '04 Proceedings of the 3rd annual conference on Task models and diagrams
Patterns for behavior modeling and integration
Computers in Industry - Special issue: Object-oriented modelling in design and production
Teaching extreme programming to large groups of students
Journal of Systems and Software - Special issue: The new context for software engineering education and training
Theoretical Computer Science - Implementation and application of automata
Beyond usability: the OoBE dynamics of mobile data services markets
Personal and Ubiquitous Computing
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Design Patterns for Agent-Based Service Composition in theWeb
QSIC '05 Proceedings of the Fifth International Conference on Quality Software
Joeq: a virtual machine and compiler infrastructure
Science of Computer Programming - Special issue on advances in interpreters, virtual machines and emulators (IVME'03)
What business process modelers can learn from programmers
Science of Computer Programming
Design, distribution and management of object-oriented software
UNIX'94 Proceedings of the USENIX Applications Development Symposium Proceedings on USENIX Applications Development Symposium Proceedings
Automating three modes of evolution for object-oriented software architectures
COOTS'99 Proceedings of the 5th conference on USENIX Conference on Object-Oriented Technologies & Systems - Volume 5
Using the strategy design pattern to compose reliable distributed protocols
COOTS'97 Proceedings of the 3rd conference on USENIX Conference on Object-Oriented Technologies (COOTS) - Volume 3
Browser-based distributed evolutionary computation: performance and scaling behavior
Proceedings of the 9th annual conference companion on Genetic and evolutionary computation
Unanticipated partial behavioral reflection: Adapting applications at runtime
Computer Languages, Systems and Structures
Context-oriented programming: beyond layers
ICDL '07 Proceedings of the 2007 international conference on Dynamic languages: in conjunction with the 15th International Smalltalk Joint Conference 2007
Callgraph properties of executables
AI Communications - Network Analysis in Natural Sciences and Engineering
A standards based approach to enabling legacy applications on the Grid
Future Generation Computer Systems
A pattern language for extensible program representation
Proceedings of the 2006 conference on Pattern languages of programs
A simplified framework for stochastic workflow networks
Computers & Mathematics with Applications
Electronic Notes in Theoretical Computer Science (ENTCS)
Quality Patterns for Conceptual Modelling
ER '08 Proceedings of the 27th International Conference on Conceptual Modeling
Problem-Oriented Documentation of Design Patterns
FASE '09 Proceedings of the 12th International Conference on Fundamental Approaches to Software Engineering: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Development of a Maintenance Environment that Enabling Users to Revise Existing Web Applications
Proceedings of the 2007 conference on New Trends in Software Methodologies, Tools and Techniques: Proceedings of the sixth SoMeT_07
Implementing Parallel Google Map-Reduce in Eden
Euro-Par '09 Proceedings of the 15th International Euro-Par Conference on Parallel Processing
Patterns for behavior modeling and integration
Computers in Industry
Multilanguage Debugger Architecture
SOFSEM '10 Proceedings of the 36th Conference on Current Trends in Theory and Practice of Computer Science
Towards a methodology for coordination mechanism selection in open systems
ESAW'02 Proceedings of the 3rd international conference on Engineering societies in the agents world III
Error patterns: systematic investigation of deviations in task models
TAMODIA'06 Proceedings of the 5th international conference on Task models and diagrams for users interface design
CIAA'03 Proceedings of the 8th international conference on Implementation and application of automata
Unanticipated partial behavioral reflection
ISC'06 Proceedings of the 14th international conference on Advances in smalltalk
XP'03 Proceedings of the 4th international conference on Extreme programming and agile processes in software engineering
Templatable metamodels for semantic variation points
ECMDA-FA'07 Proceedings of the 3rd European conference on Model driven architecture-foundations and applications
Human comprehensible and machine processable specifications of operational semantics
ECMDA-FA'07 Proceedings of the 3rd European conference on Model driven architecture-foundations and applications
HCI design patterns for PDA running space structured applications
HCI'07 Proceedings of the 12th international conference on Human-computer interaction: interaction design and usability
A multimodeling framework for complex software reuse
ECBS'97 Proceedings of the 1997 international conference on Engineering of computer-based systems
Software for everyone by everyone
Proceedings of the FSE/SDP workshop on Future of software engineering research
Syncro - concurrent editing library for Google wave
ICWE'10 Proceedings of the 10th international conference on Web engineering
A survey of algorithmic skeleton frameworks: high-level structured parallel programming enablers
Software—Practice & Experience - Focus on Selected PhD Literature Reviews in the Practical Aspects of Software Technology
A formal approach towards measuring trust in distributed systems
Proceedings of the 2011 ACM Symposium on Applied Computing
Automated generation of faceted navigation interfaces using semantic models
Proceedings of the 1st international workshop on Semantic models for adaptive interactive systems
Visitor-based Attribute Grammars with Side Effect
Electronic Notes in Theoretical Computer Science (ENTCS)
Human and program factors affecting the maintenance of programs with deployed design patterns
Information and Software Technology
ER'11 Proceedings of the 30th international conference on Conceptual modeling
Proceedings of the 10th SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software
A system of patterns for web navigation
ICWE'05 Proceedings of the 5th international conference on Web Engineering
Tracechecks: defining semantic interfaces with temporal logic
SC'06 Proceedings of the 5th international conference on Software Composition
Efficient proxies in Smalltalk
Proceedings of the International Workshop on Smalltalk Technologies
Analyzing object-oriented design patterns from an object-process viewpoint
NGITS'06 Proceedings of the 6th international conference on Next Generation Information Technologies and Systems
A pattern language for extensible program representation
Transactions on Pattern Languages of Programming I
Time constraint patterns for event b development
B'07 Proceedings of the 7th international conference on Formal Specification and Development in B
HYPERION: a recursive hyper-heuristic framework
LION'05 Proceedings of the 5th international conference on Learning and Intelligent Optimization
MOPBox: a library approach to runtime verification
RV'11 Proceedings of the Second international conference on Runtime verification
Open and efficient type switch for C++
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
High throughput software for direct numerical simulations of compressible two-phase flows
SC '12 Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis
Enhancing UML extensions with operational semantics behaviored profiles with templates
MODELS'07 Proceedings of the 10th international conference on Model Driven Engineering Languages and Systems
PSOA RuleML API: a tool for processing abstract and concrete syntaxes
RuleML'12 Proceedings of the 6th international conference on Rules on the Web: research and applications
The software perspective for energy-efficient mobile applications development
Proceedings of the 10th International Conference on Advances in Mobile Computing & Multimedia
An Analysis of Language-Level Support for Self-Adaptive Software
ACM Transactions on Autonomous and Adaptive Systems (TAAS)
11 PFLOP/s simulations of cloud cavitation collapse
SC '13 Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis
Computer-Assisted Scientific Workflow Design
Journal of Grid Computing
Distributed user interfaces in public spaces using RFID-based panels
International Journal of Human-Computer Studies
ACM Transactions on Mathematical Software (TOMS)
Performance modeling and analysis of message-oriented event-driven systems
Software and Systems Modeling (SoSyM)
Drawing layered graphs with port constraints
Journal of Visual Languages and Computing
Component-based decision trees for classification
Intelligent Data Analysis
Hi-index | 0.03 |
We propose design patterns as a new mechanism for expressing object-oriented design experience. Design patterns identify, name, and abstract common themes in object-oriented design. They capture the intent behind a design by identifying objects, their collaborations, and the distribution of responsibilities. Design patterns play many roles in the object-oriented development process: they provide a common vocabulary for design, they reduce system complexity by naming and defining abstractions, they constitute a base of experience for building reusable software, and they act as building blocks from which more complex designs can be built. Design patterns can be considered reusable micro-architectures that contribute to an overall system architecture. We describe how to express and organize design patterns and introduce a catalog of design patterns. We also describe our experience in applying design patterns to the design of object-oriented systems.