I watched Michael Feathers' talk Design sence – deep lessons in software design, and I what follows are my notes for future reference.
- Software normally has a characteristc of being driven by power laws.
- The shape of java – research project that studies the source of both open source proprietary projects in Java.
- Everything is an object or may be considered as such.
- Smaltalk – everything is actually and object.
- Ruby – it goes a long way into almost everything being objects.
- C and other procedural languages may be considered as object oriented if you consider the whole program as an object.
- A type is a set of values. Covariance and contravariance.
- You can't make software more correct with redundancy.
- Protection is a social problem and not a technical problem.
- There are no requirements. There is only design.
- Design by laundry list.
- Names are provisional.
- Physical architecture shapes logical architecture.
- Physical architecture can influence the kind of problems we are able to solve.
- Conway's law.
- You can finess error handling with good design.
- Error policy is as important as the main line.
- Keep errors at the boundaries or handle errors at the boundaries of the system.
- Null object pattern.
- Logging is a first class design consideration.
- Databases are good for more than storing data.
- Objects want to be asynchronous.
No comments:
Post a Comment