rhavyn / norbert

Norbert is a cluster manager and networking layer built on top of Zookeeper.
Apache License 2.0
390 stars 125 forks source link

Class name suffix *Component is extraneous #1

Closed arosien closed 14 years ago

arosien commented 14 years ago

Lots of classes and traits are named *Component: ClusterComponent, ClusterManagementComponent, etc. Is there a particular reason this naming scheme is used? To me "component" doesn't add any information and makes the class names long and unweildy. Can't ClusterComponent just be Cluster?

I'd be happy to provide a patch with the renames.

rhavyn commented 14 years ago

There shouldn't be any classes that have the Component suffix, only traits. And those traits are all Cake Pattern component wrappers, which is why they end in Component. If you look in, for example, ClusterComponent, you will see that there is a Cluster trait and a DefaultCluster implementation. The only time you will reference the Component traits when using norbert is when you wire up your component registry. Your application code will be working with the real implementation traits and classes and those do not end in Component.

Take a look at the objects NorbertNetworkClientMain and NorbertNetworkServerMain and you will see what I mean.

arosien commented 14 years ago

After looking up the Cake Pattern I get it; I just wish there was a better name. Component is so.... enterprisey. :P

What about something like Clusters vs. ClusterComponent, mirroring the Google-static-plural convention?