Kyley
wrote:
You probably don't mean
it this way (email is bad for that) but the above comes off as rather
patronising.
All forms of abstraction
have a performance cost. The job of a good software engineer is to know when to
break them. The fact that _you're_ not worried about speed (or abstraction
costs) implies you have the luxury of operating with much smaller problem
domains or databases than others here (including myself)
do.
When you're dealing with
databases in the gigabytes or entities in the hundreds of thousands, bypassing
unnecessary abstraction layers can make a big
difference.
Just like a 3NF (or BCNF
for the truly hard core) database may need denormalised cached totals for
acceptable performance, large collections of simple types may need to bypass
object (or interface) abstraction over-head to meet performance
targets.
And along with that,
many simple types don't really have any business rules to encapsulate - an
Amount, a Point, a Rectangle, etc. Nothing is really gained by wrapping
them as an object. OO languages like C++ and Delphi go to some pain to
efficiently support simple record types without object overhead for exactly this
reason.
And C# likewise has
value types to avoid reference type overhead for many simple types. These
language features wouldn't persist if there weren't significant software domains
that needed them.
OO development
techniques are just _one_ tool in a software engineers toolkit to be used
when appropriate.
Remember the old saying
- 'If all you have is a hammer, everything looks like a nail'
:-)
TTFN,
Paul.
|
Title: Message
- [DUG]: Delete a variable from a Dynamic Array Jason Coley
- RE: [DUG]: Delete a variable from a Dynamic... Paul Heinz
- RE: [DUG]: Delete a variable from a Dynamic... Kyley Harris
- RE: [DUG]: Delete a variable from a Dyn... Paul Heinz
- RE: [DUG]: Delete a variable from a... Kyley Harris
- RE: [DUG]: Delete a variable fr... Paul Heinz
- RE: [DUG]: Delete a variab... Kyley Harris
- RE: [DUG]: Delete a va... Paul Heinz
- [DUG]: window iden... Alistair George
- RE: RE: [DUG]: Delete a variable from a Dy... Jason Coley
- RE: [DUG]: Delete a variable from a Dyn... Carl Reynolds \(E-mail\)
- RE: [DUG]: Delete a variable from a... Jason Coley
- RE: RE: RE: [DUG]: Delete a variable from... Allan, Samuel
- RE: RE: RE: RE: [DUG]: Delete a variable... Allan, Samuel