Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Pattern-oriented software architecture: a system of patterns
Pattern-oriented software architecture: a system of patterns
Frameworks = (components + patterns)
Communications of the ACM
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Building application frameworks: object-oriented foundations of framework design
Building application frameworks: object-oriented foundations of framework design
Implementing application frameworks: object-oriented frameworks at work
Implementing application frameworks: object-oriented frameworks at work
Enterprise frameworks: guidelines for selection
ACM Computing Surveys (CSUR)
Small memory software: patterns for systems with limited memory
Small memory software: patterns for systems with limited memory
Concurrent Programming in Java: Design Principles and Patterns
Concurrent Programming in Java: Design Principles and Patterns
Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects
Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects
C++ Network Programming: Systematic Reuse with ACE and Frameworks, Vol. 2
C++ Network Programming: Systematic Reuse with ACE and Frameworks, Vol. 2
Commonality and Variability in Software Engineering
IEEE Software
Supporting the developers of context-aware mobile telemedicine applications
OTM'05 Proceedings of the 2005 OTM Confederated international conference on On the Move to Meaningful Internet Systems
Hi-index | 0.00 |
In today's competitive, fast-paced computing industry, successful software must increasingly be: (1) extensible to support successions of quick updates and additions to address new requirements and take advantage of emerging markets; (2) flexible to support a growing range of multimedia data types, traffic flows, and end-to-end QoS (quality of service) requirements; (3) portable to reduce the effort required to support applications on heterogeneous operating-system platforms and compilers; (4) reliable to ensure that applications are robust and tolerant to faults; (5) scalable to enable applications to handle larger numbers of clients simultaneously; and (6) affordable to ensure that the total ownership costs of software acquisition and evolution are not prohibitively high.