软件设计和开发到后面真的就是哲学
”When working on your data model you find that two or more types have properties in common, ask yourself if those properties are being used to describe some higher-level characteristic common across the types that might better be modeled as an aspect.“