Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #10109
| From | Lew <lewbloch@gmail.com> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Standard Design and Development Methodologies |
| Date | 2011-11-20 10:55 -0800 |
| Organization | http://groups.google.com |
| Message-ID | <24884696.0.1321815339209.JavaMail.geo-discussion-forums@prgt40> (permalink) |
| References | <Xns9FA29593FF4C2jpnasty@94.75.214.39> <p4_xq.30508$Pm3.8310@newsfe12.iad> <Xns9FA37B944799jpnasty@94.75.214.39> |
Novice wrote: > A couple of followup questions if I may. > 1. I'm pretty solid on relational databases, although not OO databases. > I'm not clear on the actual purpose of "persistence layers" though. I > started to look at Hibernate a few years back but got sidetracked and > didn't get very far. Can you possibly summarize in a few sentences: > a. what a persistence layer does > b. how an OO database differs from a relational database? This is a major topic. I'll hit some headlines /infra/. > ... > What other OO language would be best to consider? C++? Smalltalk? .NET? > (Hmm, I'm not sure if .NET is even considered OO....) .Net isn't a language, it's a platform. You might read Grady Booch or others on what object-oriented blahblah is generally. Don't get too bogged down there - skimming the TOC and a few paragraphs in each chapter in the bookstore will get you started. Object-oriented is just a way of looking at things. Relational algebra (RDBMSes) is another, orthogonal way. Object-oriented, as well explained by Booch and others, entails adherence to certain principles, the number and name of which vary a bit between authors. Basically it's encapsulation and inheritance, component and layered architecture, and a clean, well laid-out structure. Encapsulation involves abstraction of the interaction between tightly focused types that hide their mechanics. You program to the interface <generically at times>. Inheritance is a spice to use lightly. O-O is at its best a synonym for really good modeling. Each type should be fairly simple - easier to do if you concentrate on its interface and not the messy innards. Unit tests are invaluable. Good languages are C#, C++, Smalltalk (the progenitor). Other languages to know are Lisp, Forth, Javascript, Python, Go, Prolog, C, bash. Object-oriented databases are a dead end. IMHO. But SQL is really only for those who understand relations. Relations are not objects. And vice versa. But they map to each other, with a lot of transformational infrastructure. The key is that the object and data ontologies are not the same. I've done a lot of that - mapping objects to relations, or "object-to-relational mapping" (ORM). The best way to do ORM in Java is JPA, the Java Persistence API. There are three standard, free products that give you that specification: EclipseLink, Apache OpenJPA, and Hibernate. Hibernate comes with a weight of documentation and culture from its pre-JPA days. Don't get sucked into that. Stick firmly with JPA. OK, "best" is relative. You might be fine with just the Collections API, which you should master anyway. But to talk to databases like Derby or PostgreSQL, JPA is wonderful. As long as you don't think of it as "talking to databases". JPA gives you an object-oriented view of persistent information, hiding the relational sensibility from the program. It is about control of sessions, that is, 'EntityManager' lifetimes, and how durable to make object properties, not about data. The framework handles a subset of data manipulations opaquely to support that mapping. Well, translucently, but learn the basics first. -- Lew
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Standard Design and Development Methodologies Novice <novice@example..com> - 2011-11-19 19:42 +0000
Re: Standard Design and Development Methodologies Arne Vajhøj <arne@vajhoej.dk> - 2011-11-19 21:22 -0500
Re: Standard Design and Development Methodologies Novice <novice@example..com> - 2011-11-20 16:55 +0000
Re: Standard Design and Development Methodologies "Charles Hottel" <chottel@earthlink.net> - 2011-11-20 22:20 -0500
Re: Standard Design and Development Methodologies Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-11-19 23:01 -0400
Re: Standard Design and Development Methodologies Lew <lewbloch@gmail.com> - 2011-11-19 20:13 -0800
Re: Standard Design and Development Methodologies Lew <lewbloch@gmail.com> - 2011-11-19 20:16 -0800
Re: Standard Design and Development Methodologies "Derek K. Wodenhouse" <dkw@none.of.your.biz> - 2011-11-19 23:49 -0500
Re: Standard Design and Development Methodologies Lew <lewbloch@gmail.com> - 2011-11-19 23:45 -0800
Re: Standard Design and Development Methodologies "Derek K. Wodenhouse" <dkw@none.of.your.biz> - 2011-11-20 03:49 -0500
Re: Standard Design and Development Methodologies Robert Klemme <shortcutter@googlemail.com> - 2011-11-20 13:58 +0100
Re: Standard Design and Development Methodologies Lew <lewbloch@gmail.com> - 2011-11-20 08:32 -0800
Re: Standard Design and Development Methodologies "Derek K. Wodenhouse" <dkw@none.of.your.biz> - 2011-11-20 18:24 -0500
Re: Standard Design and Development Methodologies Patricia Shanahan <pats@acm.org> - 2011-11-20 03:27 -0800
Re: Standard Design and Development Methodologies spk <jhic@speak.invalid> - 2011-11-20 09:54 -0400
Re: Standard Design and Development Methodologies Lew <lewbloch@gmail.com> - 2011-11-20 08:33 -0800
Re: Standard Design and Development Methodologies thoolen <th00len@th0lenbot.thorium> - 2011-11-20 18:30 -0500
Re: Standard Design and Development Methodologies Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-11-20 09:35 -0400
Re: Standard Design and Development Methodologies Novice <novice@example..com> - 2011-11-20 17:18 +0000
Re: Standard Design and Development Methodologies Lew <lewbloch@gmail.com> - 2011-11-20 10:30 -0800
Re: Standard Design and Development Methodologies Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-11-21 07:23 -0400
Re: Standard Design and Development Methodologies Arne Vajhøj <arne@vajhoej.dk> - 2011-11-25 21:51 -0500
Re: Standard Design and Development Methodologies Lew <lewbloch@gmail.com> - 2011-11-25 20:07 -0800
Re: Standard Design and Development Methodologies Novice <novice@example..com> - 2011-11-20 17:08 +0000
Re: Standard Design and Development Methodologies Arne Vajhøj <arne@vajhoej.dk> - 2011-11-20 12:18 -0500
Re: Standard Design and Development Methodologies markspace <-@.> - 2011-11-20 10:29 -0800
Re: Standard Design and Development Methodologies Lew <lewbloch@gmail.com> - 2011-11-20 10:55 -0800
Re: Standard Design and Development Methodologies Arne Vajhøj <arne@vajhoej.dk> - 2011-11-20 14:07 -0500
Re: Standard Design and Development Methodologies Lew <lewbloch@gmail.com> - 2011-11-20 11:50 -0800
Re: Standard Design and Development Methodologies Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-11-21 07:19 -0400
Re: Standard Design and Development Methodologies Roedy Green <see_website@mindprod.com.invalid> - 2011-11-20 22:27 -0800
Re: Standard Design and Development Methodologies Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-11-21 07:02 -0400
Re: Standard Design and Development Methodologies Robert Klemme <shortcutter@googlemail.com> - 2011-11-22 18:52 +0100
Re: Standard Design and Development Methodologies markspace <-@.> - 2011-11-22 11:37 -0800
Re: Standard Design and Development Methodologies Gene Wirchenko <genew@ocis.net> - 2011-11-22 14:27 -0800
Re: Standard Design and Development Methodologies Arne Vajhøj <arne@vajhoej.dk> - 2011-11-25 22:06 -0500
Re: Standard Design and Development Methodologies Gene Wirchenko <genew@ocis.net> - 2011-11-26 21:16 -0800
Re: Standard Design and Development Methodologies Arne Vajhøj <arne@vajhoej.dk> - 2011-12-02 21:53 -0500
Re: Standard Design and Development Methodologies Gene Wirchenko <genew@ocis.net> - 2011-12-04 21:25 -0800
Re: Standard Design and Development Methodologies Arne Vajhøj <arne@vajhoej.dk> - 2011-12-05 22:41 -0500
Re: Standard Design and Development Methodologies Gene Wirchenko <genew@ocis.net> - 2011-12-05 19:58 -0800
Re: Standard Design and Development Methodologies Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-11-22 19:57 -0400
Re: Standard Design and Development Methodologies Arne Vajhøj <arne@vajhoej.dk> - 2011-11-25 22:04 -0500
Re: Standard Design and Development Methodologies Gene Wirchenko <genew@ocis.net> - 2011-11-26 21:18 -0800
Re: Standard Design and Development Methodologies Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-11-27 08:34 -0400
Re: Standard Design and Development Methodologies Patricia Shanahan <pats@acm.org> - 2011-11-27 08:39 -0800
Re: Standard Design and Development Methodologies Martin Gregorie <martin@address-in-sig.invalid> - 2011-11-27 20:07 +0000
Re: Standard Design and Development Methodologies Arne Vajhøj <arne@vajhoej.dk> - 2011-12-02 21:48 -0500
Re: Standard Design and Development Methodologies Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-12-03 14:52 -0400
Re: Standard Design and Development Methodologies Arne Vajhøj <arne@vajhoej.dk> - 2011-12-05 22:50 -0500
Re: Standard Design and Development Methodologies Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-12-06 07:21 -0400
Re: Standard Design and Development Methodologies Arne Vajhøj <arne@vajhoej.dk> - 2011-11-25 21:54 -0500
Re: Standard Design and Development Methodologies Arne Vajhøj <arne@vajhoej.dk> - 2011-11-25 21:47 -0500
csiph-web