calendar / time management

Caleb Cushing <[email protected]>
Newsgroups gmane.comp.programming.domain-driven-design
Message-ID <CAAHKNRHKmiVWHKEbMEn5fbVSsVby01fpEUS3XXE9TGxC3YhfsA@mail.gmail.com>
So I'm debating on creating a fancy calendar application (fancy
meaning it goes well beyond any calendar app I've seen)

I see this as I have let's say these examples of Calendar Records.

Party - 1 time occurrance, requires commute, bounded but somewhat
flexible timespan low scheduling priorty
Go To Gym - Must be done 3-4 times a week, takes 1 hour, has commute,
but can generally be done when time allows (consistency good not
required) medium scheduling priority
Work - Consistent, requires commute, happens 5 days a week
Meeting - 1 time event, happens at work (no additional commute) high
scheduling priority
laundry - must be done once a week, split into multiple parts
possible, commute not required, low scheduling priority

what I'm trying to figure out...

Do I have one aggregate type that has multiple customizations? e.g.

Event {
     Commute: Begin-End
     Begin-End
     Location
     Priority
     Reoccuring
     etc (this is like a 1s thought dump)
}

or many aggregate types?

Appointment { ... }
Event { ... } #presuming something like a party
Chore { ... }
Work { ... }


The first seems like what most calendaring software does now, the
latter seems like it might be more DDD (and better suited to the
complexity I want to add), am I correct? Also if this is this the case
how would you go about determining the classes in the system?

Also does anyone know any good resources for writing  these kinds of
systems (calendars and such and stupid assumptions people make about
time)? and/or perhaps good domain resources in lieu of a Domain Expert
(I basically have to be it)? Specifically maybe things that might help
me think of names if I'm doing the many aggregates.

This would be a solo project (maybe goes nowhere we'll see ).
-- 
Caleb Cushing

http://xenoterracide.com

Calendar:
https://www.google.com/calendar/embed?src=xenoterracide%40gmail.com&ctz=America/Chicago


------------------------------------
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.