Value Objects in PureMVC and Object Naming Conventions

Since we are using PureMVC we recently had a heated discussion over whether to name the value object with a VO on the end. A kind of Flex form of Hungarian notation. One of the issues is names clashes, despite having different package names dividing up the namespaces so that each object name is different the IDE usually just displays them in the dot completion drop down as just the object name. Which can cause confusion.

I would prefer not to have to name everything with some form of end descriptor such as Command, Mediator, or Proxy but PureMVC breaks the functionality up so much that the naming ends up becoming repetitive. Also, because of the heavy use of patterns the object names tend to be meaningless unless the command, mediator or proxy is added onto the object name.

For instance a Command object is one with an execute() method that is requester agnostic and the object asking for that operation being performed doesn't know or care what the command object is doing, or going to do.

Value objects are slightly different. In the PureMVC system they are the closest thing we have to classical OOP objects. They describe a 'something' with private variables and getter and setters. So if any component in the PureMVC system should be named with a hard descriptor, it is the value objects.

A counter argument is that adding VO to the end of an object name aids readability. I consider most of this kind of readability as code litter. The reason we don't use Hungarian anymore is that it was a big mess. The convention of underscoring private variables is unnecessary in languages that have the private modifier to variables and functions. Underscoring their variables names is meaningless. So it is with package namespaces and object names.

The best argument for making the value objects carry the VO is that the IDEs tend to lump everything together in the dot completion drop downs. In my opinion this isn't a good enough argument to demand the addition of the VO identifier.

Software teams tend to be democratic to an extent and in this issue the team is slightly split. Programmers tend to treat their writing of code with care and make sure the formatting is all clean, evenly spaced and to their aesthetic liking. So something as simple as adding VO to an object descriptor can evoke some heated discussion and heels being dug in. Such is the fun of software development in teams.
Permalink, Value Objects in PureMVC and Object Naming Conventions, Apr 2009, cam

More Reading on Puremvc

Most Popular on South Sea Republic

The articles that have been viewed the most:

Most Popular Restaurants in Phoenix

Phoenix Eats Out is the restaurant review site for Phoenix, Scottsdale and Old Town Scottsdale which lists the modernist and contemporary restaurants, taverns and bars in the greater Phoenix area. This is the list of the most popular restaurants pages from phoenixeatsout.com that have been viewed the most; My personal favourite restaurants in Phoenix are AZ88, Postinos, Bomberos with Grazie, Humble Pie, Orange Table, The Vig, Fez and others coming close behind. View the complete list with the photo-journalistic style images on phoenixeatsout.com

Most Popular Hikes in Arizona

Arizona is an outdoor state and has lots of hiking in the city and around the state. Phoenix is unusual for most cities in having several large mountains in the center of the city with great hiking. Anyone who comes to Phoenix has to do the Echo Canyon trail on Camelback and the Summit Hike on Squaw Peak or Piesta Peak. The views of the city, suburbs and surrounding mountains are wonderful from Camelback and Piesta Peak. For more experienced hikers there is the McDowell Mountains in North Scottsdale that has several difficult and strenuous hikes in Tom's Thumb and Bell Pass. Alternatively, you can hike the highest mountain in Arizona. At 12,600 feet Humphrey's Peak is a long and difficult hike.

Alternate Australian Constitutions

Between 2004 and 2009 this site, southsearepublic.org, was a constitutional blog based on scoop which focused on Australian and global constitutional issues. One of the strongest aspects of it was the development of constitutions by those involved in the blog. These constitutions are the outcome: The constitutions were built using principles from Montesquieu's separation of powers, the enlightnment's universal political rights and the ancient Athenian technology of sortition and choice by lot.

Archives For South Sea Republic

South Sea Republic started in 2004 as an Australian constitutional blog in 2004 based on scoop software. It was an immigrative outgrowth of Kuro5hin. The archives for each year since then; The articles are ordered by views.

Who Is Cam Riley

Cam Riley I am an Australian living in the United States as a permanent resident. I am a software developer by trade and mostly work in Java and jump between middleware and front end. I originally worked in the New York area of the United States in telecommunications before moving to Washington DC and working in a mix of telecommunications, energy and ITS. I started my own software company before heading out to Arizona and working with Shutterfly. Since then I have joined a startup in the Phoenix area and am thoroughly enjoying myself.

I do a lot of photography which I post on this website, but also on flickr. I have a photo-journalistic website which lists the modernist and contemporary restaurants in phoenix. I have a site on the Australian Flying Corps [AFC] which has been around since the 1990s and which I unfortunately lost the .org URL to during a life event; however, it is under the www.australianflyingcorps.com URL now. The AFC website has gone through several iterations since the 90s and the two most recent are Australian Flying Corps Archives(2004-2002) and Australian Flying Corps Archives(2002-1999) which are good places to start.

Websites Worth Reading

Websites of friends, colleagues and of interest;