Sorting your cats into classes

Call me pedantic (you wouldn’t be the first), but I have found terms like category and class end up being used ambiguously, and interchangeably – and I do it sometimes, too! So I have decided to put a stop to this and define the way I think the terms should be used. And it all comes down to exlcusivity…

Class(-ify, -ification) – a given item can only be a member of a single class (unless it inherits from a super-class) and indeed it MUST be a member of a class.

Category(-ise, -isation) – a given item may concurrently be a member of multiple categories, or indeed of none.

So, the item’s position in the prime hierarchy or taxonomy, usually detemined by who owns it or who is responsible for it, indicates its class. Within the whole domain, this structure is generally relatively stable. It can change, just like organisations can restructure, but it takes time and effort and involves upheaval.

If you want to have alternative forms of grouping, like search tags, or secondary means of browsing items, you can create categories. Because they are optional, flexible, and can be multiple, there is more scope to refresh, restructure, add new structures and depreciate irrelevant ones.

“Each item must have a single class and may have multiple categories”

It seems so simple now. Maybe you already understood this definition – sorry if I’m stating the obvious. However, this reminds me of the day I learnt the difference between authentication and authorisation – the dark clouds of doubt just fell away. But then you should know by now that I’m a geek as well as a pedant šŸ™‚

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: