Real-Time Design Patterns<br><br>Many of us have had the experience of working with a truly great software designer. They<br>have the ability to look at a really hard problem and seemingly with no effort construct an<br>elegant and practical solution. Afterward, we all slap our foreheads and say “Of course!<br>It’s so obvious!1” How do those Great Designers actually come up with these great<br>designs in the first place?<br>By training, I am a neurophysiologist. During my medical school years, I primarily<br>studied information processing in biological neural systems2. The process of coming up<br>with Good Designs occurs in three phases:<br>· Internalization<br>· Pattern Matching<br>· Sequential Analysis<br>The first phase, internalization, is a linear process of gathering information. What are the<br>functions of the design? What are its constraints? What aspects of the design should be<br>optimized at the expense of others? This is a process of gathering and organizing<br>information about the system under design.<br>The second phase, pattern matching, is an inherently nonlinear process and is performed<br>almost exclusively by the subconscious mind. It is exactly this kind of thinking that has<br>occurred place when The Answer suddenly comes to you in the shower or when you wake<br>in the middle of the night. It often happens to me when I go for a run. I even go so far as to classify problems by how far I think I’ll have to run to come up with a solution. I might<br>tell my boss, “Gee, that’s a 10-mile problem. I’ll see you in a couple of hours – bye!3”<br>I believe that subconsciously our rather impressive pattern matching apparatus goes to<br>work on a pre-analyzed problem (that’s where the internalization phase comes in) and<br>does “best fit” pattern matching comparing thousands of patterns while our conscious<br>mind is off doing other things. Only when it finds a close-enough match (a potential<br>design solution) does it signal the conscious mind.<br>Just because the subconscious thinks it has found a good solution is no guarantee of the<br>quality of the proposed solution. Once identified, it is up to the linear processing system<br>of the brain to take the proposed solution and see if it does in fact meet our criteria. This<br>is the process of sequential analysis that is applied to a proposed solution. Most often,<br>this takes the form of mentally applying scenarios against the design pattern to ensure that<br>it in fact meets the necessary criteria and optimizes all the right things.





剩余38页未读,继续阅读
















评论0