Naked Objects is an eye catching name. No wonder that it has been demonstrated at the OOPSLA 2001 conference under the banner of Intriguing Technologies.
Copyright (c) 2002 nakedobjects.org
The Naked Objects Pattern
- Design behaviourally complete domain objects i.e.- Encapsulate all the behaviour/functionality within the domain objects.
- Single point definition: All the representations of a domain object such as user-interface, database-mapping, should be derived automatically from the domain object class itself.
- Object-oriented user-interface (OOUI): By exposing behaviourally-complete objects, users can view and interact with underlying domain Continue Reading
Error proofing communication content is a vital part of any trade. Even people with strong grammar and spelling skills tend to make poor mistakes. Word processors like MS Word make help but they are not available every time, for example when one starts typing in notepad or other applications. You do not want to open an application which is slow to start and hogs memory just for doing a simple spell-check. The process of manual re-checking contents can be painful, however there are myriad of tools available that can make this process less laborious. Here’s a dash of such tools: Continue Reading
It is not a recommended practise to have libraries placed in Tomcat’s lib directory to access classes in a web application. However, there are cases when you may want to flout this practise. Tomcat’s class loading mechanism will not allow you to do so since the web classes and the lib classes are loaded by different class loaders. The workaround in such a case is to use a custom bootstrap loader. This loader should be used to load all the application specific classes.
An example of a custom bootstrap loader is given below. Continue Reading
Tomcat creates the class-loaders with the parent-child hierarchy as shown in the diagram. The class loading is fairly intuitive. However a pragmatic developer needs to understand it properly to avoid problem with class instantiation since it differs a bit from the typical Java class loading mechanism.
Tomcat loads classes in the order shown below also described extensively in the Tomcat documentation. The quirk with the WebAppClassLoader is that it searches it’s local repositories first before delegating to the parent class loader, the exception being the JRE base classes.
If one does not want to bloat up the application wars by including all possible library jars, the standard way is to share the jars by putting them in Tomcat’s common lib directory so that they can be handled by the common loader rather than the web-app loader. To use a separate directory and to avoid cluttering common lib directory, one can enable the shared loader in conf/catalina.properties. Another alternative is to include the class path in Tomcat’s start-up class-path. Continue Reading
I try to keep my desktop clean so that I can display only the items that require my immediate attention. I also like to start my day with an inspirational quote. Since the desktop is the first thing one sees after booting up the system in the morning, here is a jugaad that uses Autohotkey and bginfo to put a random quote on your desktop. Continue Reading
There are a bunch of command line utilities bundled with Windows that can be real life-savers. You may find yourself using these tools again and again once you get to know them.
Here’s a list:
This tool creates a list of installed drivers. Continue Reading