In this chapter I have given an example of how one might approach a real problem using the software fortress model. The most important lessons in this chapter are these:
Plan on several iterations when developing a software fortress architecture. Even with a relatively simple problem, I used two iterations.
Use the TADs and SADs to help you analyze the overall complexity of your architecture.
Don't get carried away in creating software fortresses. Software fortresses are not objects. You don't need many of them. Unless there is a good reason for having functionality in different fortresses, don't do it.
Drawbridge communication is expensive. Don't do too much of it, and when you do do it, make it count.
When you must use a synchronous drawbridge, ...