Overview

The basis of my coding style is one simple axiom: the easiest code to read is the code that is not there. Given any two programs that have the exact same functionality one with 1000 lines of code the other with 10,000 lines of code. The 1000 line program's code will be easier to read and maintain.Less code also has two nice side effects: the application is pushed towards towards optimal OO design and in most cases, its performance is improved.

Classification

Java itself has perhaps 3 types of classes: class, abstract class and interface. In looking at my code, it seems that I have a number of different ways I make use of these 3 basic Java types. I'm not much for reading about computers and programming, so I have no idea whether I'm using certain well known patterns or not or what their names are if I am.But, I'd like to develop some visual representations of the libraries here and I think it would be helpful to come up with a notation that represents each of the different types of objects. So, I would like to name, define and indicate a notation for each of the different types that I use. Hopefully, this will be helpful in reading the visual documentation of the libraries.
a class with only instance variables and accessors for those variables
a class that contains instance variables and methods.
an interface
an abstract class that is to be implemented by numerous peer classes
a stateless (dataless) collection of utility methods
a stateful class that combines static methods and data
a class that extends from Throwable

Interaction

There are a number of ways classes interact with one another. I'd like to come up with a concise, but visually meaningful representation of those interactions that isn't simply symbolic. This may be a difficult request, but I'll see how it goes. The following is a list of the types of interaction.A extends BA implements BA contains BA takes B as a parameter on one or more public methodsA returns B from one or more public methods


© 2015 Aepryus Software, Inc.