Monday, May 23
Class , Responsibility, Collaboration
CRC cards - design methodology for Object Oriented Programming..Moving away from procedural thinking, global variables and depending on implementation of other objects..
Start your design with :
>> Class Name - naming a class with the most appropriate description
>> Defining its responsibilities - problems to be solved , data and methods
>> Define collaborators - other class dependencies for services or control
This should all fit on a 6-by-4 card in following form :
------------------------------
ClassName Collaborators
-----------
Responsibilities
------------------------------
------------------------------------------
Account Transaction
-------------------- Remote DB
Keeps balance
and traffic
-----------------------------------------
Dips at 8:03 AM
Friday, May 20
Don't call us, we'll call you
In the Java community there's been a rush of lightweight containers that help to assemble components from different projects into a cohesive application.Underlying these containers is a common pattern to how they perform the wiring, a concept they refer under the very generic name of "Inversion of Control".
In this article Martin Fowler digs into how this pattern works, under the more specific name of "Dependency Injection", and contrast it with the Service Locator alternative.
The choice between them is less important than the principle of separating configuration from use.
http://martinfowler.com/articles/injection.html#ComponentsAndServices
Spring is based on Inversion of Control (also called Dependency Injection) for wiring not only the component services together, but also their associated transaction contexts.
Dips at 8:04 AM
Thursday, May 12
Struts
Strut - a structural piece designed to resist pressure in the direction of its lengthQuick reference :
http://javaboutique.internet.com/tutorials/Struts/
http://struts.apache.org/index.html
What is Struts?
Struts, from the Jakarta Project, is a development framework for Java servlet applications based upon the Model-View-Controller (MVC) design paradigm.
Struts is comprised of a controller servlet, beans and other Java classes,
configuration files, and tag libraries. This means that when you have downloaded
Struts you have available:
>>a controller for your application
(the Struts servlet acts as a common controller for the whole application)
>>a collection of Java beans and other helper
classes that you use in the "Model" part of your application
>>a collection of tag libraries used in your jsp-pages
To glue these things together Struts uses a set of configuration files.
Together this gives you the skeleton that you can use to "strut" your application.
Keywords :
ActionServlet
struts-config.xml - ActionsMappings
ActionForm bean class - Form data get/set , validate
Action class - perform() application logic
Struts tag libs - html, bean, logic
Struts 1.1 :
Nested Tag Library
Validator framework
PlugIn API
Declarative Exception Handling - specify
Dips at 8:11 AM
Wednesday, May 11
Java-licious
JSP - http://java.sun.com/webservices/docs/1.0/tutorial/doc/JSPIntro.htmlhttp://java.sun.com/webservices/docs/1.0/tutorial/doc/JSPIntro4.html
Servlets - http://java.sun.com/webservices/docs/1.0/tutorial/doc/Servlets.html
http://java.sun.com/webservices/docs/1.0/tutorial/doc/Servlets4.html#64198
Thread basics - http://java.sun.com/docs/books/tutorial/essential/threads/index.html
http://java.sun.com/docs/books/tutorial/essential/threads/summary.html
Struts - http://struts.apache.org/userGuide/index.html
Index - http://java.sun.com/webservices/docs/1.0/tutorial/index.html
J2EE Patterns - http://java.sun.com/blueprints/corej2eepatterns/Patterns/index.html
Dips at 8:19 AM
Friday, May 6
Agile - a quick , resourceful and adaptable character
Etymology: Middle French, from Latin agilis, from agere to drive, actAgile Manifesto :
We are uncovering better ways of developing software by doing it and helping others do it.
We value
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.
Links
http://agilemanifesto.org/principles.html
http://www.agilealliance.org/programs/roadmaps/Roadmap/index.htm
http://www.inf.vtt.fi/pdf/publications/2002/P478.pdf
http://www.martinfowler.com/articles/newMethodology.html
There is endless material on the web.. I shall go through the above for now..
Dips at 8:24 AM
Cathedral and the bazaar
- An important trait of the great ones is constructive laziness. :-)) suits me !
- Every good work of software starts by scratching a developer's personal itch.
- Good programmers know what to write. Great ones know what to rewrite (and reuse).
- Given enough eyeballs, all bugs are shallow
http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/
Dips at 8:21 AM
Jargon-ilicious
Methodologies :Agile Software Development
Aspect Oriented Programming
Creative Design
Booch
eXtreme programming
UML
Dips at 8:00 AM