Oo Business Examples

TopMind says he is looking for ObjectOrientedProgramming business examples which are both "good" and justify the examples against non-OO techniques, particularly procedural and/or database approaches. Business examples would be things like tracking of money, labor, or/and inventory; billing, complex reporting (management information systems), etc. He says he tends to specialize in what he calls "custom business software". This is the exact same question he's been repeating for years, with the same terms and same refusal to accept any of the offered examples as fitting his definition. TopMind also refuses to offer any specific example of real-world applications of the sort he classifies as "custom business software".

What do you mean? I offered the CampusExample as something fairly representative. Also there is Compiere.org (spelling?), an ERP open source system that uses DataDictionary's for UI definitions.

[CampusExample is an example of custom business software? It looks like a schema to me. Can you give an example of software you've written as opposed to tables you've designed? Some new functionality you've created as opposed to functionality you've reused? Nor is CampusExample production software.]

{It is not hard to turn a schema into typical edit and listing screens. See bottom comment at CampusExample. There is also http://www.geocities.com/tablizer/chal06.htm if you want a toy example with code.}

[But if all you're doing is putting CRUD screens on a relational database, why write any software at all? You can do that by configuring existing off the shelf software. Are you working under the assumption that's what we mean when we talk about writing software?]

{It is a misconception that production CrudScreen applications are simple. People and politics muck up what otherwise could be more simpler. I talked about this somewhere else, but I forgot where. I'll have to get back to you on this.}

More particularly, TopMind has never given a real example of production software written in the style he calls "table-oriented". When pressed, he will reply with phrases like "there are lots, go look at any of them", or "I know some, but they are proprietary and I can't reveal them".

Gee, that is the same answer OO fans give me. "Custom" in "custom business software" generally means that we cannot release it publicly. It's just a drawback of the domain both sides have to live with. No use calling names over it. Runnable examples can be found at PayrollExample and ChallengeSixVersusFpDiscussion found on this wiki.


Java Pet-Store Examples

Some have suggested that some of the "Java Petstore" examples floating around the web might be a good demonstration of OO's power. However, others have criticized such examples as demonstrations of code and pattern techniques rather than good software engineering. They may use constructs just to illustrate a concept rather than provide the best or simplest solution for the specific need.

There's no debate there. Pet Store was created to illustrate J2EE patterns. If you need to do the things Pet Store does, those are the ways Sun recommends doing them.

Do Wikizens generally agree that it is a good design?

That what is a good design? The entire Pet Store demo? I hope not. It isn't intended to show good design. It's intended to show how many different patterns are implemented with J2EE.

Some have suggested that developers sometimes do the same thing with production code in order to pad their resume or experience list with GOF patterns. ResumeMasturbation.


"Head First Design Patterns" gives an example whereby they hardwire coffee-shop product pricing configurations into the code.

http://www.oreilly.com/catalog/hfdesignpat/chapter/ch03.pdf

There should be a huge disclaimer that this is a toy example and that real software is not (or should not) be written that way. It might be job security for the programmer to be the one to change the product config in the code, but it is not good software.

Does anybody here actually propose programming that way? The younglings that learn that sh8t will be entering the work-force messed up.

--top

I think most younglings know it's obviously an example, the same way medical students know the distinction between the dead bodies they're learning anatomy from and the living ones they treat.

[Most would, but then there is always that certain percentage, and they are what comes back to bite everyone...]

As a university lecturer, we have a way of dealing with that certain percentage. We give them 'F's. At least, in ComputerScience we do. I can't speak for medical education and whether or not it turns out doctors who can't tell the difference between a live body and dead one.


Possible examples:


See also: OopBizDomainGap


CategoryBusinessDomain


EditText of this page (last edited February 22, 2010) or FindPage with title or text search