As I write this, it's now been closer to three weeks since I began the contest, but on the two-week mark this last Wednesday I was delighted to see that I've dropped over two full percentage points of body fat! I've gone from an initial 13.6% down to 12.4% after one week and am now weighing in at 11.4%. This is a dramatic change and probably has a lot to do with significantly boosting my water intake, but has every bit as much to do with dialing in the diet. I've been enjoying lean grass fed beef, cottage cheese, veggies and berries in copious amounts.
I've also at least doubled my usual amount of cardio workouts over the last two weeks. It's an amazing thing to be able to see fat leaving my body. Usually this happens so slowly as to be imperceptible, but I can actually tell the difference week to week. It feels very satisfying, and makes leaving certain foods behind more than worth it. As someone once said: "Nothing tastes as good as being fit feels".
And here's the big thing: while certain foods are definitely out, I'm hardly missing them. I eat as much as I want (of the right foods), and even satisfy cravings for sweet foods with stevia. If you're not familiar, stevia is an all-natural sweetener that is a secret weapon in weight-loss. It has zero calories, registers zero on the glycemic index and comes in a rainbow of flavors in liquid form. While stevia is just beginning to hit the mainstream in the U.S., it has been used for thousands of years, and other modern cultures have embraced it for decades. In Japan for example, stevia accounds for over 40% of the sweeter market (see Wikipedia link above for references).
In December the FDA permitted certain stevia products as food additives, so keep an eye out for Truevia and PureVia - these are stevia-based sweeteners backed by Coca-cola and Pepsi respectively. Personally I prefer Sweet Leaf brand, available at most health food stores.
A few simple and delicious stevia recipes:
Chocolate-cherry fizz:
20oz H2O
1 package black cherry Emergen-C
1 eye dropper chocolate-flavored Sweet Leaf Stevia
I drink 2-4 of these a day. It is utterly delicious and clocks in at around 25 calories.
Low-fat peanut butter double-chocolate protein shake
32oz H2O
2 scoops MRM brand Stevia-sweetened protein powder
2 tbsp PB2 peanut butter powder
2 eye droppers chocolate-flavored Sweet Leaf stevia
I drink this just about every morning and is a great way to kick start the day with plenty of water. It also allows for some time to let hunger really kick in so I enjoy my first meal, usually around 10 or 11 am. Drink this one slowly in order to absorb the protein most effectively.
Sweet treat blueberry cottage cheese:
1 cup organic cottage cheese
1/2 cup frozen blueberries
5-10 drops (to taste) of liquid stevia
Stir contents well and sit for 10 minutes, long enough for the blueberries to melt a bit and for the cottage cheese to freeze a bit. This maximizes the flavor and gives the whole thing a cold consistency somewhat like ice cream. (thanks to the XGym's hardbod cafe for for this recipe!)
The contest is off to a great start. At 11.4% I'm much closer to single-digits than I thought I would be at this early stage. In the coming week I'll continue to pour on the cardio, and work harder than ever when lifting. I'm especially excited to get back to stairclimbing after almost a full week off. I'm going to break 8:30 at WaMu by Friday, I can feel it.
Sunday, January 25, 2009
Wednesday, January 7, 2009
Initial weigh-in
So it begins! I weighed in today to kick off the Biggest Loser contest (see previous post) and came in at 13.6% body fat with 163.9 lbs of lean weight and 25.9 lbs of fat weight. The 13.6% figure is a little lower than I had expected after weighing in just a day before at 14.5%, but it goes to show the difference that it makes doing a weigh-in properly. Over the 24 hours prior to weighing in, I made sure to stay well-hydrated, drink no caffeine or alcohol, and I fasted for 12 hours. We can be sure this one's as accurate as it gets.At left is the report generated by the InBody machine during the weigh-in process. It's quite informative, and I can't wait to compare the stats as they change over the coming months. Click on the image to see the full-size version.
The big question is how the lower initial fat percentage will affect my chances of winning. Good news: I'll still be able to take it home. Let's do the math:
13.6% - 8.6% = 5% (I'll need to lose 8.6% to get down to the target 5%)
8.6 / 13.6 = 0.63 (63% total loss once I'm at 5%)
63% isn't the initial 66% I talked about yesterday, but it's still enough to win the contest. Again, there's only been one other contestant that has ever finished in the 60's, and he had an initial weight of close to 300 lbs!
I also trained today, and did 20 minutes including the following:
- 777 feet of rope pulls (in just around two and a half minutes)
- 2 miles of high-intensity interval bike riding
- 1 minute + 5 15-second intervals on the treadmill at 50% incline and 3.5 mph (this is HARD).
I did this workout with a trainer, and I was so beat afterward that I collapsed on a nearby mat and panted myself to sleep! I napped for about 15 minutes while recovering and felt great afterward.
It also felt great to eat 'clean' today - I had a tasty protein shake in the morning:
- 24oz H2O
- 1 1/2 scoops MRM stevia-sweetened chocolate protein powder
- dash of mint extract
- eye-dropper of liquid chocolate-flavored stevia
Followed by cottage cheese and berries
- 8 oz cottage cheese
- frozen blueberries
- a few frozen cherries
Throughout the day I ate three big bowls of Fat Furnace Fritatta
And in the evening had organic cottage cheese and celery as a snack.
Of course, I drank plenty of water throughout the day (about a gallon and a half as I write this), organic green tea, and some raspberry Emergen-C to flavor my water during dinner.
All told, I'm somewhere around 2200 calories for the day - fairly low, but I don't feel the need to eat much more. These foods tend to be so satisfying that continual grazing / craving isn't the norm.
I got my 'before' photos taken today, and will be posting them as soon as they're sent to me.
Tuesday, January 6, 2009
How I'll win the Biggest Loser 2009
No, not that Biggest Loser. Tomorrow begins the XGym's Biggest Loser contest, and I'm going to win it.
Huh??
Anyone that knows me will probably be saying at this point: "But wait, you're not fat!". And that's true. In fact, by most standards I'm in pretty good shape! It's exactly this fact that makes the XGym's contest so interesting - unlike its NBC namesake, the XGym's Biggest Loser does not focus on scale weight. Rather, winning is solely a function of percent body fat lost. The competitor who loses the greatest percentage of their own body fat wins, plain and simple. Besides ending the competition with the body one's always wanted, the winner gets an expense-paid trip to Vegas (woohoo!).
The numbers
Tomorrow is the official weigh-in that kicks off the contest, but as of this morning I'm at 14.5% body fat. In order to win, I'll take myself steadily down to a lean and mean 5%. losing 9.5 of an initial 14.5 works out to a nearly 66% change, and will be as tough to beat as it will be for me to acheive. As a point of reference, the biggest losers in previous years have won with loss percentages in the 40s and 50s, but rarely 60s. I believe a 5% final weigh-in will be a lock for the win.
The contest is seven months long, starting January 7th and ending August 7th. There are elimination brackets every two months throughout, so this won't be something anyone can win in a last-ditch effort.
How I'll do it
Eat less and excercise more, right? Not quite. I'll be eating differently, but will actually be upping my caloric intake. I will be working out more than I usually do, but with a focus on working out even harder than usual. Let me 'splain:

Food
For the last six months, I've centered my diet around grass-fed organic beef. Mainly, I make and eat 2-3 times per day a recipe called Fat Furnace Fritatta (so delish). I've lost fat and gained considerable muscle over that time, but I've supplemented that diet with a heapin' helpin' of beer, wine and other carb-rich foods that tend to keep the fat hanging around. As I begin the contest tomorrow, those foods will be out for the next seven months. No alcohol, no processed starches, etc. However, I get to eat as much as I want of some of the best stuff on earth: tasty beef dishes, endless amounts of broccoli, lowfat cottage cheese, blueberries, protein shakes, jerky, fish (sashimi, here I come!). Bottom line: high-volume, high-quality protein, good fats (like CLA in the beef), and no processed carbs or sugars. A note: this low-carb approach has nothing to do trying to acheive ketosis (for those familiar with Atkins diet stuff). I'll get plenty of good carbs through eating berries and greens. I assume at this point I will eat between 3000 and 3500 calories per day of these foods.
Oh, did I mention I really love beer? That's a tough one to say farewell to, especially after I just found the best IPA on the planet, but I figure that if my wife will someday be willing to go nine months without the stuff while making a baby, I can surely go seven.
In the end, it's really exciting to make these changes. Going cold turkey on the drink is daunting, but the challenge makes it worth it. I know I won't regret missing a drop when I look in the mirror seven months from now!

Water
Proper hydration is key to optimizing the fat loss process, and I'll be taking my intake up to roughly 2 gallons per day. That's quite a bit, but not nearly too much. It works out to around 20oz per waking hour (and a lot of trips to the bathroom). I have done this for brief stints before, and I like the experience. It's a very clean feeling having that much water go through you, and if nothing else, it gets me up from my desk at regular intervals.
I'll also be cutting caffeine, at least from coffee and diet sodas. Instead of coffee (even decaf), I'm going to go with green tea and yerba mate. Coffee is more habit than passion for me, and I really like the effect of green and mate teas - the 'pick me up' is much gentler and sustained.

Cardio
For months now, I've been doing what I believe is the best cardio training out there: stair climbing. Twice a week, a crew of us from the gym run up the WaMu Tower here in seattle. It's 56 grueling floors, and the idea is to push it as hard as you can to make it up as fast as you can. My times have improved, but they can get a lot better. Over these next seven months, I'll take my current time of 9:10 down into the 7-minute range. Nothing burns fat like stairs, but as a supplement to it I'm doing two sessions per week of a 9-minute high-intensity circuit training. To make absolutely sure I hit my goal, I'll also be adding in two 20-minute interval sessions on an elliptical machine per week.

Strength Training
The XGym is famous here in Seattle for having the most intense and effective personal training. As a customer for the last couple of years, I can definitely attest to that. The idea is that losing fat is only half the game; gaining muscle is the other. By gaining muscle two things happen: one, it positively effects the lean vs. fat ratio, and two, because muscle is calorically expensive you burn more while resting. The regimen is two 20-minute, one-on-one sessions with a trainer per week. I travel a lot, so can often only make one, but always bring with me my trusty TRX straps, and I always push to get a hotel with a proper gym.

Mental Conditioning
All of the above doesn't mean a thing if I'm not in good mental shape for the challenge. It's one thing to do all the work to get in great shape, and it's another to regard onself as permanently lean for life. The untrained mind is a crafty saboteur, and I don't intend to let it wreak havoc with me as I go through this. I spent the majority of my childhood and adolescence somewhat chubby, and have been in and out of good shape during my adult life. I'll be spending a few minutes each day visualizing my future body (this is fun - I've already started), and giving myself affirmations about succeeding. This is all toward the goal of retraining my perception of myself to someone who is fit as a way of being. This naturally leads to acting (eating, excercising, etc) like a fit person.

Going 'all in'
I've wanted to get in the best possible shape for a long time, I daresay nearly my whole life. I've flirted with it, and done much work to prepare for getting there, but these next seven months represent the opportunity for me. When I say I'm going to win this contest, it's not because I'm so arrogant or can see the future, it's because that is exactly how I'm going to live these next seven months - like there is no other possibility. Going all in makes all the difference!
Next steps
As I mentioned above, the initial weigh-in is tomorrow. I'll post my before photo and experiences along the way. 5% or bust!
Huh??
Anyone that knows me will probably be saying at this point: "But wait, you're not fat!". And that's true. In fact, by most standards I'm in pretty good shape! It's exactly this fact that makes the XGym's contest so interesting - unlike its NBC namesake, the XGym's Biggest Loser does not focus on scale weight. Rather, winning is solely a function of percent body fat lost. The competitor who loses the greatest percentage of their own body fat wins, plain and simple. Besides ending the competition with the body one's always wanted, the winner gets an expense-paid trip to Vegas (woohoo!).
The numbers
Tomorrow is the official weigh-in that kicks off the contest, but as of this morning I'm at 14.5% body fat. In order to win, I'll take myself steadily down to a lean and mean 5%. losing 9.5 of an initial 14.5 works out to a nearly 66% change, and will be as tough to beat as it will be for me to acheive. As a point of reference, the biggest losers in previous years have won with loss percentages in the 40s and 50s, but rarely 60s. I believe a 5% final weigh-in will be a lock for the win.
The contest is seven months long, starting January 7th and ending August 7th. There are elimination brackets every two months throughout, so this won't be something anyone can win in a last-ditch effort.
How I'll do it
Eat less and excercise more, right? Not quite. I'll be eating differently, but will actually be upping my caloric intake. I will be working out more than I usually do, but with a focus on working out even harder than usual. Let me 'splain:

Food
For the last six months, I've centered my diet around grass-fed organic beef. Mainly, I make and eat 2-3 times per day a recipe called Fat Furnace Fritatta (so delish). I've lost fat and gained considerable muscle over that time, but I've supplemented that diet with a heapin' helpin' of beer, wine and other carb-rich foods that tend to keep the fat hanging around. As I begin the contest tomorrow, those foods will be out for the next seven months. No alcohol, no processed starches, etc. However, I get to eat as much as I want of some of the best stuff on earth: tasty beef dishes, endless amounts of broccoli, lowfat cottage cheese, blueberries, protein shakes, jerky, fish (sashimi, here I come!). Bottom line: high-volume, high-quality protein, good fats (like CLA in the beef), and no processed carbs or sugars. A note: this low-carb approach has nothing to do trying to acheive ketosis (for those familiar with Atkins diet stuff). I'll get plenty of good carbs through eating berries and greens. I assume at this point I will eat between 3000 and 3500 calories per day of these foods.
Oh, did I mention I really love beer? That's a tough one to say farewell to, especially after I just found the best IPA on the planet, but I figure that if my wife will someday be willing to go nine months without the stuff while making a baby, I can surely go seven.
In the end, it's really exciting to make these changes. Going cold turkey on the drink is daunting, but the challenge makes it worth it. I know I won't regret missing a drop when I look in the mirror seven months from now!

Water
Proper hydration is key to optimizing the fat loss process, and I'll be taking my intake up to roughly 2 gallons per day. That's quite a bit, but not nearly too much. It works out to around 20oz per waking hour (and a lot of trips to the bathroom). I have done this for brief stints before, and I like the experience. It's a very clean feeling having that much water go through you, and if nothing else, it gets me up from my desk at regular intervals.
I'll also be cutting caffeine, at least from coffee and diet sodas. Instead of coffee (even decaf), I'm going to go with green tea and yerba mate. Coffee is more habit than passion for me, and I really like the effect of green and mate teas - the 'pick me up' is much gentler and sustained.
Cardio
For months now, I've been doing what I believe is the best cardio training out there: stair climbing. Twice a week, a crew of us from the gym run up the WaMu Tower here in seattle. It's 56 grueling floors, and the idea is to push it as hard as you can to make it up as fast as you can. My times have improved, but they can get a lot better. Over these next seven months, I'll take my current time of 9:10 down into the 7-minute range. Nothing burns fat like stairs, but as a supplement to it I'm doing two sessions per week of a 9-minute high-intensity circuit training. To make absolutely sure I hit my goal, I'll also be adding in two 20-minute interval sessions on an elliptical machine per week.

Strength Training
The XGym is famous here in Seattle for having the most intense and effective personal training. As a customer for the last couple of years, I can definitely attest to that. The idea is that losing fat is only half the game; gaining muscle is the other. By gaining muscle two things happen: one, it positively effects the lean vs. fat ratio, and two, because muscle is calorically expensive you burn more while resting. The regimen is two 20-minute, one-on-one sessions with a trainer per week. I travel a lot, so can often only make one, but always bring with me my trusty TRX straps, and I always push to get a hotel with a proper gym.

Mental Conditioning
All of the above doesn't mean a thing if I'm not in good mental shape for the challenge. It's one thing to do all the work to get in great shape, and it's another to regard onself as permanently lean for life. The untrained mind is a crafty saboteur, and I don't intend to let it wreak havoc with me as I go through this. I spent the majority of my childhood and adolescence somewhat chubby, and have been in and out of good shape during my adult life. I'll be spending a few minutes each day visualizing my future body (this is fun - I've already started), and giving myself affirmations about succeeding. This is all toward the goal of retraining my perception of myself to someone who is fit as a way of being. This naturally leads to acting (eating, excercising, etc) like a fit person.
Going 'all in'
I've wanted to get in the best possible shape for a long time, I daresay nearly my whole life. I've flirted with it, and done much work to prepare for getting there, but these next seven months represent the opportunity for me. When I say I'm going to win this contest, it's not because I'm so arrogant or can see the future, it's because that is exactly how I'm going to live these next seven months - like there is no other possibility. Going all in makes all the difference!
Next steps
As I mentioned above, the initial weigh-in is tomorrow. I'll post my before photo and experiences along the way. 5% or bust!
Thursday, September 20, 2007
Architect, defined
"Architect" is a much maligned role in the software industry, but one that I believe can provide a great deal of value. I was heartened to see Ted Neward's take on it earlier today:
The whole post is a great read.
What relevance do architects have today? Well, this is a dangerous question, in that you're asking it of one who considers himself an architect and technologist, so take this with the usual grain of salt. Are we just overpaid out-of-touch developers? God, I hope not. Fowler talks about architecture being irrelevant in an agile project, but I disagree with that notion pretty fundamentally: an architect is the captain of the ship, making the decisions that cross multiple areas of concern (navigation, engineering, and so on), taking final responsibility for the overall health of the ship and its crew (project and its members), able to step into any station to perform those duties as the need arises (write code for any part of the project should they lose a member). He has to be familiar with the problem domain, the technology involved, and keep an eye out on new technologies that might make the project easier or answer new customers' feature requests.
And if anybody stands up at this point and says, "Hey, wait a minute, that's a pretty tall order for anybody to fill!", then you start to get an idea of why architects do, frequently, get paid more than developers do. Having to know the business, the technology at a high and low level of detail, keeping your hands in the code, and watching the horizon for new developments in industry, is a pretty good way to burn out any free time you might have thought you'd have.
The whole post is a great read.
Wednesday, September 19, 2007
Factors in the popularization of Domain Driven Design
InfoQ posted an interview with Eric Evans, author of Domain Driven Design. It's a brief introduction at 13 minutes, and I'd recommend it for anyone unfamiliar with the book or its concepts. I also recommend it for those that are familiar, as Evans comments toward the end of interview on the state of DDD today.
I was particularly interested by the interviewer's final question to Evans. He mentions the 'increased buzz' around DDD today and asks:
I won't repeat the answers Evans gives, but suffice it to say I agree with them. I also assert there is an additional factor at play, which he doesn't mention. It could be summarized as “the advent of POJO programming”, but I think it’s worthwhile to look into why this matters and how we got here.
POJO programming matters because it frees up the domain layer in an application to deal with just one thing: complex domain logic. DDD counts on the existence of this layer, and builds upon it throughout all its design concepts.
It’s taken several years for POJO programming to come completely into its own, and thus it’s taken a while for DDD to gain a foothold. Why the delay? Because it has taken time for the community to understand and embrace the ‘enabling technologies’ for POJO programming, which principally include:
1) dependency injection
2) object-relational mapping
3) aspect-oriented programming
In 2003 (when DDD was first published) the Java community was busy trying to sort out these relatively new ideas. New frameworks were becoming popular (Hibernate, Spring, etc), but were not yet mainstream by any means. EJB still ruled the roost, and AOP was ‘considered harmful’. Thrown into this already chaotic period of growth, DDD immediately attracted a loyal few, but naturally could not compete with the excitement and drama of slaying EJB or deciding who would win today’s persistence deathmatch.
Today these technologies have gained wide acceptance and the arguments about them have largely died down, giving rise to widespread POJO programming and opening the door for DDD.
In the case of ORM, it’s safe to say the ‘persistence wars’ are over, and it matters little whether Hibernate or JDO (or now, JPA) won; what is important is that this *kind* of programming is commonly being practiced. These less-invasive persistence techniques allow developers to focus on domain logic, rather than “database access infrastructure that swamps the code” [DDD, p149].
And likewise with dependency injection. While Spring today is about much more that just DI, it’s first claim to fame was undoubtedly its IoC container. Removing the need to embed service lookups, properties file access and other dependency-related code within domain objects has also allowed developers to think more clearly about the needs of the domain vs. the needs of the software.
Aspect-oriented programming, while perhaps the least leveraged of these three, serves the same purpose: whether it’s declarative transaction management or simply removing rote method-tracing logging statements, AOP helps developers get boilerplate code out of their domain objects and into configuration.
Ultimately, when these techniques are combined, they can serve to remove most or even all the code from a project’s domain layer that is not specifically related to the business of the domain. When this happens, many models are exposed for what they are: anemic in behavior. Developers can’t help but see that their ‘objects’ have been little more than very busy data structures. After all, when there’s nothing left in a domain object other than its constructors and data members, things start to look a little naked. Certain questions almost present themselves to the developer: Where is the behavior? Where does my business logic live if not in the domain layer? What are these ‘domain objects’ really for?
Of course the answer to this is that the business logic often lives scattered throughout the service layer, or in transaction scripts or ‘manager’-style objects. The domain objects do little more than get populated, read, and ultimately persisted. The idea of consolidating that business logic into the domain objects begins to look attractive because POJO domain objects are freed up from distracting infrastructure code. They provide an ideal, centralized place for handling the complexity of the business domain. Object-orientation’s power to abstract and encapsulate that complexity can be fully leveraged, and everything else in the application (UI, database, service layer, etc) can take a backseat and serve the domain layer in a supporting role, rather than competing with it.
The ideas put forth in DDD are high-level design concepts rather than specific technical implementation techniques. That said, these concepts only become widely relevant when a) the technology at hand can easily facilitate their implementation and b) there is sufficient community adoption and support for those technologies. Thanks to the last several years of the POJO programming movement and it’s enabling technologies we’ve now arrived at this kind of technical ‘sweet spot’ for DDD adoption, thus its current rise in popularity.
(adapted from my original comment on the InfoQ post)
For more information on DDD:
* Buy the book! Domain-Driven Design: Tackling Complexity in the Heart of Software
* http://domaindrivendesign.org
* Join the DDD Yahoo! group and mailing list
I was particularly interested by the interviewer's final question to Evans. He mentions the 'increased buzz' around DDD today and asks:
Why is now domain driven design's time?"
I won't repeat the answers Evans gives, but suffice it to say I agree with them. I also assert there is an additional factor at play, which he doesn't mention. It could be summarized as “the advent of POJO programming”, but I think it’s worthwhile to look into why this matters and how we got here.
POJO programming matters because it frees up the domain layer in an application to deal with just one thing: complex domain logic. DDD counts on the existence of this layer, and builds upon it throughout all its design concepts.
It’s taken several years for POJO programming to come completely into its own, and thus it’s taken a while for DDD to gain a foothold. Why the delay? Because it has taken time for the community to understand and embrace the ‘enabling technologies’ for POJO programming, which principally include:
1) dependency injection
2) object-relational mapping
3) aspect-oriented programming
In 2003 (when DDD was first published) the Java community was busy trying to sort out these relatively new ideas. New frameworks were becoming popular (Hibernate, Spring, etc), but were not yet mainstream by any means. EJB still ruled the roost, and AOP was ‘considered harmful’. Thrown into this already chaotic period of growth, DDD immediately attracted a loyal few, but naturally could not compete with the excitement and drama of slaying EJB or deciding who would win today’s persistence deathmatch.
Today these technologies have gained wide acceptance and the arguments about them have largely died down, giving rise to widespread POJO programming and opening the door for DDD.
In the case of ORM, it’s safe to say the ‘persistence wars’ are over, and it matters little whether Hibernate or JDO (or now, JPA) won; what is important is that this *kind* of programming is commonly being practiced. These less-invasive persistence techniques allow developers to focus on domain logic, rather than “database access infrastructure that swamps the code” [DDD, p149].
And likewise with dependency injection. While Spring today is about much more that just DI, it’s first claim to fame was undoubtedly its IoC container. Removing the need to embed service lookups, properties file access and other dependency-related code within domain objects has also allowed developers to think more clearly about the needs of the domain vs. the needs of the software.
Aspect-oriented programming, while perhaps the least leveraged of these three, serves the same purpose: whether it’s declarative transaction management or simply removing rote method-tracing logging statements, AOP helps developers get boilerplate code out of their domain objects and into configuration.
Ultimately, when these techniques are combined, they can serve to remove most or even all the code from a project’s domain layer that is not specifically related to the business of the domain. When this happens, many models are exposed for what they are: anemic in behavior. Developers can’t help but see that their ‘objects’ have been little more than very busy data structures. After all, when there’s nothing left in a domain object other than its constructors and data members, things start to look a little naked. Certain questions almost present themselves to the developer: Where is the behavior? Where does my business logic live if not in the domain layer? What are these ‘domain objects’ really for?
Of course the answer to this is that the business logic often lives scattered throughout the service layer, or in transaction scripts or ‘manager’-style objects. The domain objects do little more than get populated, read, and ultimately persisted. The idea of consolidating that business logic into the domain objects begins to look attractive because POJO domain objects are freed up from distracting infrastructure code. They provide an ideal, centralized place for handling the complexity of the business domain. Object-orientation’s power to abstract and encapsulate that complexity can be fully leveraged, and everything else in the application (UI, database, service layer, etc) can take a backseat and serve the domain layer in a supporting role, rather than competing with it.
The ideas put forth in DDD are high-level design concepts rather than specific technical implementation techniques. That said, these concepts only become widely relevant when a) the technology at hand can easily facilitate their implementation and b) there is sufficient community adoption and support for those technologies. Thanks to the last several years of the POJO programming movement and it’s enabling technologies we’ve now arrived at this kind of technical ‘sweet spot’ for DDD adoption, thus its current rise in popularity.
(adapted from my original comment on the InfoQ post)
For more information on DDD:
* Buy the book! Domain-Driven Design: Tackling Complexity in the Heart of Software
* http://domaindrivendesign.org
* Join the DDD Yahoo! group and mailing list
Subscribe to:
Posts (Atom)
