Designing object-oriented software is hard, and designing resuable object-oriented software is even harder. You must find pertinent objects, factor them into classes at the right granularity, define class interfaces hierarchies, and establish key relationships among them.
pertinent:
per·ti·nent/pɜrtənənt/CET6+
ADJSomething that is pertinent is relevant to a particular subject. 相关的[FORMAL]
factor:
vt. 把…作为因素计入;代理经营;把…分解成
granularity: [,grænju'læriti]
n. 间隔尺寸,粒度