Sun's Joshua Bloch On OOP/OOD In Java
f00zbll writes: "A good article about development and OOP/OOD. The lessons apply to most OO languages and OOD. Interview with Joshua Bloch over at Javaworld. Ignore the fact that Java is owned by Sun and use the tips to help your work/project/development."
I'd like to hear someone write about how to make the trade-offs architects really face:
These topics would be of greater value to the development community than articles which presume hypothetical arrangements.
This guy just gave me the encouragement I needed.
/standalone/ programmer/designer/analyst, I
As a
developed this API design philosphy on my own.
Actually, I have evolved to it.
If you are in a one-mans shop, or do alot of coding
for a specific domain, try to roll out your own
layer of helper APIs on top of the system provided ones.
I work on win32 and ODBC: I have my own class
hierchies of *standard* dialogs for DB applications.
Ex: the ActiveX components for DB Appz (advanced
list views, financial stats, bar charts and graphs, etc.)
are really resource greedy (the updating required
for a dynaset database connection, with millions
of records being fetched per minute is very
expensive.)
So I wrote some ready to run classes, that take
care of the interface (with all the company logos
and standard look-and-feel stuff.)
then wrote some other classes to wrap around the
"CResultView" classes, and finally,
wrote some classes that *know* about our strange
servers, and are optimized for them (including
a connection "language" I derived, which is nothing
more than a hand optimization of the subset of
SQL accepted by oracle.)
So, if the shop is good to you, be good to them
and put your talent to work.
The API method works, and I am a living witness for it.
The fact that you aren't prepared to stand up to your manager is the first sign of a problem. You have to make management understand that you are (I assume) a professional. Development or (hopefully) software engineering is your career, for which you are educated, and that in such areas management does NOT have the required knowledge to act.
In no other technical profession can management dictate HOW the job should be achieved. They can set budgets and deadlines, and assist in planning, but they do not have the liberty to force a domain expert to act in a certain way.
This needs to be made more clear to software managers. Software is difficult to write and to maintain. Even though most contracts seem watertight, there is an element of liability implicit in the sale of custom-developed software, which makes YOUR organisation responsible. And as the software engineer someone is going to shit on YOUR head when things go wrong ... not the manager's.
i-name =twylite [http://public.xdi.org/=twylite], see idcommons.net