Area there any major architectural differences when designing applications that will be built on static languages (such as C# or Java) and dynamic languages (such as Ruby or Python)? Wich are the design possibilities that might be a good choice for one type that's a bad one for the other? Are there any useful features achievable with one type that's not with the other (in design and architecture, of course)?
Finally, are there any good resources on the subject of the differences, or to specific design/architecture for dynamic languages?
EDIT: It just came to my mind now: are there any dynamic-specific design patterns?