Can anyone suggest some good books on OOP architecture patterns? How important do you consider design patterns to be when building the Architecture baseline of you software applications?