Wire has matured into a fairly elegant, and easy to use class. It does
only what it needs to, is just about the right size, and can be used in
a fairly wide number of circumstances from bus splitters to switches.

Pin is almost at that point except for one thing. It contains two sets
for containing itself. This is clear evidence of a design problem. It
mixes a thing with an alorithm that operates on the thing. What is
basically happening is that the circuit partitioning algorithm relies
heavily on information stored within the pin.

See CircuitDocument::getPartition and CircuitDocument::recursivePinAdd
for the real uglyness..

Basically what is happening is Component is stuffing information about
circuit topology into the pins where it can be re-constructed in
circuitDocument in order to construct a simulator for that circuit. This
bloats out class Pin and makes the structure of the program less obvious.

Hopefully further analysis of the class interractions can help re-route
this dataflow so that Pin can be as simple as it should be and only
concern itself with what it absolutely needs to.

-- 
DO NOT USE OBAMACARE.
DO NOT BUY OBAMACARE.
Powers are not rights.


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Ktechlab-devel mailing list
Ktechlab-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ktechlab-devel

Reply via email to