Industry studies show that the most productive software developers are 20 to 200 times more effective than their least productive counterparts. No other engineering discipline shows this divergence in practitioner competency level. Although thereare many factors that contribute to this productivity gap, observations suggest that the most productive developers consciously or unconsciously execute a repeatable process of applying idioms and patterns in their work. By observing and abstracting these patterns at each stage of the development lifecycle, a "Core" pattern language has evolved that provides powerful abstractions for conceptualizing, designing, and implementing computer systems in a deterministic manner. Domain experts, user interfacedesigners, programmers, and database architects can systematically and unambiguously discuss, specify, and build computer systems using this pattern language. The "Core" language provides efficient communication among these groups, at a higher level ofabstraction than possible with traditional approaches or with other pattern languages.
展开▼