|
Nathan, > "include" member. OO languages use Include files too, right? Java doesn't, Smalltalk doesn't OO uses inheritence for the purpose you used your Copy Member and that's one of the key concepts for reusage of top down logic. combined with late binding you have less effort to change the generic behaviour of your application. If you don't use inheritance and you try to do all things with composition, as some people do, you might even have higher productivity with rpg than with java, but using all OO concepts, this will not happen. > > The search and browse model referenced in my sample uses a single Service > Program for all database access, by every application that implements the > model, thus offering a very significant point of control. > > In comparing to an OO approach, one difference is the way the base model is > extended. In my case, the model contained exit points referring to > application specific procedures and data definitions (shown in my code > sample). Under a standard OO approach, application specific classes > override base class methods and are constrained by strict interfaces. > > Under some circumstances a loose coupling of fixed base code with standard > exit points may offer advantages. I suggested that an RPG module might > extend a "search and browse" model as well as a "record maintenance" model, > using two (2) include files, streamlining both base models, and offering > more flexibility than typical OO extensions. > Its quite normal for OO too to extend the capabilities of an interface used for what you called exit points. Thats the reason why OO has Polymorphism, in C++ with multiple inheritence, in Java with interfaces. > The resulting program displays records on the screen. But if you noticed, > there were NO database I/O statements coded in the application - just a few > simple data definitions identifying a table name, order by, record filter, > and other basic parameters. > Only very lowsie OO programms have database access in any class of business logic or in the presentation layer, but thats absolutely no OO versus procedural topic. There is good design in both worlds and bad design in both worlds. > Some programmers might wonder how to browse and search database tables > without coding specific I/O statements or using a code generator, but the > magic isn't too difficult to see given a little instruction. Especially in Java you can hide this, what you called magic, in a special package and you even don't need to write a single line of Java code for this. Waht you call magic is available as Open Source in diffrent flavour and you can simple choose what you want to use. Here is another point wich seperates the world of Java and the World of RPG. If somebody has written a great piece of code, he calls it magic, if somebody has written a great piece of code in java, he calls it freeware and makes it open source. BTW, that's the point, why San Francisco died, IBM tried to call it magic. > > I was half hoping that you might post an example of a Java class that > extends one of your search and browse, or file maintenance classes, for > comparison purposes. If it would be so simple, to learn from each other software architecture from a piece of code in an eMail, discussions on this would be shorter. Dieter Bender > > > HTH, > > Nathan. > > > > -- > This is the Java Programming on and around the iSeries / AS400 (JAVA400-L) > mailing list To post a message email: JAVA400-L@xxxxxxxxxxxx > To subscribe, unsubscribe, or change list options, > visit: http://lists.midrange.com/mailman/listinfo/java400-l > or email: JAVA400-L-request@xxxxxxxxxxxx > Before posting, please take a moment to review the archives > at http://archive.midrange.com/java400-l. -- mfG Dieter Bender DV-Beratung Dieter Bender Wetzlarerstr. 25 35435 Wettenberg Tel. +49 641 9805855 Fax +49 641 9805856 www.bender-dv.de eMail dieter.bender@xxxxxxxxxxxx
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.