CreateManager |
|
Your trail: |
Difference between
version 11
and
version 10:
At line 119 added 12 lines. |
This class won't compile at this point because we have not created our PersonManager nor the PersonManagerImpl. Unlike the DAO class, I'm not using a Factory pattern. Rather, I'm instantiating new Managers using: |
{{{ |
Manager mgr = new ManagerImp(conn); |
}}} |
If I followed recommended patterns a bit more, I'd do: |
{{{ |
Manager mgr = ManagerFactory.getInstance(conn, PersonManager.class); |
}}} |
I don't have any reason for ''not doing'' the factory pattern on Managers, I just simply haven't done it. I __am__ creating Interfaces for the Managers - in case I decide I need new ManagerImpls someday. Then it'd be easy to create a Factory and different implementations. |
|
;:%%(color: blue)''I think it's funny how I've followed so many patterns to allow __extendibility__ in AppFuse. In reality, on most projects I've been on - I learn so much in a year that I don't want to extend the architecture - I want to rewrite it. Hopefully by keeping AppFuse up to date with my perceived best practices, this won't happen as muhc. Each year will just be an upgrade to the latest AppFuse, rather than a re-write. ;-)'' |
|
At line 132 added 1 line. |
First off, create a PersonManager.java interface in the src/web/**/service directory and specify the basic CRUD methods for any implementation classes. ''I've eliminated the JavaDocs in the class below for display purposes.'' |
At line 134 added 14 lines. |
;:%%(color: blue)''As usual, I usually duplicate (open → save as) an existing file (i.e. UserManager.java).'' |
|
package org.appfuse.webapp.service; |
|
public interface PersonManager { |
|
public Object getPerson(String id) throws Exception; |
|
public Object savePerson(Object person) throws Exception; |
|
public void removePerson(Object Person) throws Exception; |
} |
}}} |
|
Back to CreateManager,
or to the Page History.
|