From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.1 required=5.0 tests=BAYES_05,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,b87849933931bc93 X-Google-Attributes: gidfac41,public X-Google-Thread: 109fba,b87849933931bc93 X-Google-Attributes: gid109fba,public X-Google-Thread: 1108a1,b87849933931bc93 X-Google-Attributes: gid1108a1,public X-Google-Thread: 103376,b87849933931bc93 X-Google-Attributes: gid103376,public X-Google-Thread: 114809,b87849933931bc93 X-Google-Attributes: gid114809,public X-Google-Thread: f43e6,b87849933931bc93 X-Google-Attributes: gidf43e6,public From: rmartin@oma.com (Robert C. Martin) Subject: Re: What is wrong with OO ? Date: 1996/12/16 Message-ID: #1/1 X-Deja-AN: 204505945 references: <58aj6t$1ch@news3.digex.net> <32B54439.26E@calfp.co.uk> organization: Object Mentor Inc. newsgroups: comp.lang.c++,comp.lang.smalltalk,comp.lang.eiffel,comp.lang.ada,comp.object,comp.software-eng Date: 1996-12-16T00:00:00+00:00 List-Id: In article <32B54439.26E@calfp.co.uk>, Nick Leaton wrote: > Robert C. Martin wrote: > > > No code should be produced without an architecture and a design to direct > > it. However, no architecture or design should be produced without code > > to verify that it is correct. At frequent intervals, designers should > > commit their (probably unfinished) designs to code to verify that they > > can be implemented and that they work. Those designs can then be built > > upon, improved, and extended. The process is iterative and evolutionary. > > Can you produce code without an architecture? I think you can. I asked > you to produce a set of classes to model employees, or clients you could > probably make a very good job of it. These classes could be used in > a multitude of architectures. In fact, one of the criteria for a good > design of client classes should be that they could be used in different > architectures without changes. The dependency is one way. The classes would participate in a single architecture that could be used as the foundation of many applications. It is far less likely that they could be used in lots of different architectures. I agree that the dependency is one way. But the direction is towards the architecture. Classes belong to architectures; they conform to the rules and protocols that those architectures demand. -- Robert C. Martin | Design Consulting | Training courses offered: Object Mentor | rmartin@oma.com | Object Oriented Design 14619 N Somerset Cr | Tel: (847) 918-1004 | C++ Green Oaks IL 60048 | Fax: (847) 918-1023 | http://www.oma.com "One of the great commandments of science is: 'Mistrust arguments from authority.'" -- Carl Sagan