X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.98.4 at av01.lsn.net Message-ID: <54DBC8B5.6020606@ecosensory.com> Date: Wed, 11 Feb 2015 15:25:09 -0600 From: John Griessen User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.4.0 MIME-Version: 1.0 To: geda-user AT delorie DOT com Subject: [geda-user] Re: Bernhard's refactoring ideas References: <20150204193720 DOT Horde DOT 42xUN-NzhCJRWZne-M5eCQ1 AT webmail DOT in-berlin DOT de> <90236728-E79D-47C7-BFB1-34140DB85ACB AT sbcglobal DOT net> <1423323918 DOT 1592 DOT 10 DOT camel AT cam DOT ac DOT uk> <1423329222 DOT 1592 DOT 12 DOT camel AT cam DOT ac DOT uk> <54D67B5B DOT 6060205 AT neurotica DOT com> <20150207221252 DOT GA26071 AT recycle DOT lbl DOT gov> <201502072246 DOT t17MktFH026329 AT envy DOT delorie DOT com> <201502080108 DOT t1818x8P031447 AT envy DOT delorie DOT com> <54DB4CF6 DOT 6020305 AT think-open DOT at> In-Reply-To: <54DB4CF6.6020305@think-open.at> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Reply-To: geda-user AT delorie DOT com On 02/11/2015 06:37 AM, Bernhard Kraft wrote: > In the web-world there is a lot of common knowledge about what a CMS/web-framework needs to do, requires to have, etc. There needs > to be a request dispatcher, a templating framework, a database abstraction, a persistence layer, domain models for every data > structure, etc. > > Maybe it would be a first start of refactoring PCB to define those requirements. If I would make a dummy-start I would create a > list like: > > * GUI Interface (human interface) > * Rendering engine (render the layout) > * DRC engine (enforce electrical rules) > * persistence layer (abstract data storage) > * plugin engine (i.e. for the autorouter) > * undo/redo logic > * etc. > > Some time ago I started to read the famous "Design Patterns" book from the GoF [1]. Altough I got stuck on around page 90 I found > the information very useful. The book describes most of the commonly found design patterns of software architecture, how to > implement them properly and where they can be used. > > Sadly the book focues on creating a new product rather than refactoring and cleaning up an old one.