Registered: Jun, 2005
Re: Software Reusability: Myth Or Reality?
Posted: Jan 29, 2007 7:23 PM
> > > That's why infrastructure stuff is easier to reuse,
> > > business stuff is harder. The meaning of "find the
> > > shortest route from machine A to machine B" is much
> > easier
> > > to define crisply than "find the best vendor for
> > shipping
> > > services".
> > In this case the shortest route is easier to define
> > because there are well-known algorithms for it, while
> > there might not be such algorithms for shipping
> > Nevertheless, you can precisely define _any_ algorithm,
> > given enough time and sufficient understanding of the
> > problem.
> Wrong! Shortest route is easy because it's well-defined.
> 'Best vendor for shipping services' is hard, because it's
> not well-defined. The problem is the word 'Best', for
> which the business logic can change, and even vary with
> what you want to ship. 'Best' = 'Cheapest'? 'Most
> reliable'? 'Is insured'? 'Fastest'?
> Depends on whether you're shipping eggs, televisions, demo
> CDs, etc, and vendor's changing prices...
> I think this is the basic problem with re-using business
> logic. Business logic is just not naturally re-usable,
> because its always changing. Algorithms and abstractions
> are reusable - when they are phrased in the right terms.
A problem is not well-defined by itself! It is well-defined because someone has defined it and possibly solved it already (in the case of shortest paths the graph theory had been used to define the problem). This might be very simple or very difficult for a problem, but once you defined it correctly all that's left to do is to solve it (if it's solvable). Just because the shipping services problem might not have been well-defined yet it does not mean that it's impossible to do so.