Riverside Software Development Designers and developers of custom and spec business software solutions. Expertise. Excellence. Expediency.
"Writing software is an art, and it takes about ten years to really get good at it."
—Richard Gabriel, Distinguished Engineer at Sun Microsystems.
About Riverside Software Development
Located in the beautiful Seacoast region of New Hampshire, RSD designs and develops custom and spec business software solutions for small to medium sized business under thematic divisions: Business Operations Solutions, and Trader Tools.
RSD does select consulting and contract assignments in the areas of: business process analysis, requirements gathering, analysis, design and development for either a new application, or for project enhancements to an existing application.
Founder Peter Rose also teaches software development principals and coding. Too often we find very talented technologists who really do not understand business process, and solid Object Oriented Analysis and Design (OOAD) principals. It is for this reason that RSD can mentor either experienced engineers as well as folks new to software development.
After receiving his B.S. Degree in Physics in 1972, founder Peter Rose spent 10 years as a small business owner and real estate investor. In 1982, he was asked to join a
software development company in Portsmouth, NH as a business applications programmer.
Over the next 30 years, Peter did full analysis, design, and development of business applications solutions in over 25 diverse problem domains.
Since 2001 he has specialized in enterprise level applications for both back office intranet solutions, and internet ecommerce and informational systems. Contact via: zzrose-at-yahoo-dot-com
Object Oriented Best Practices
Layering of Encapsulated Service Objects
The term "Layering of Encapsulated Business Service Objects" is just another way of saying that you are encapsulating objects that do work (i.e. "services" for objects that solve business logic) in the same manner that you encapsulate data.
All this means is having more discrete (i.e. encapsulated and non-coupled) objects, each of which has one particular and well defined task to solve.
This can be seen as simply breaking up a Use Case into manageable chunks and layering descendent service objects hierarchically for solution.
Understanding Agent Classes
An Agent class is like a Librarian object that takes a Book object from a Borrower object.
The Librarian object then deposits that Book object onto a Shelf object through use of its aggregate business service class LibrarianBookReturnService.
The borrower could be programmed to simply bypass the librarian and check the book in by itself, but this would not fully represent the true business process of a library. Agent classes provide services for other objects rather than for themselves.