??????????????????????е??Щ?????????????????????????????????????????????????????????????????????л??к???????

????Don’t Repeat Yourself (DRY)

????DRY ?????????????????????????????????????????????????????????????????????????????????????????????????????£???????ζ??????????????????????????????Щ???????????????????????????????????????????·??????????????е?????????????????Щ????????????????μ??????
?ο???http://en.wikipedia.org/wiki/KISS_principle

????Program to an interface?? not an implementation

??????????????и??????????????????????????????????????????????????????????????????????????????????????????????SOLID????л?????????????????????????????????????????????????? Composition over inheritance??????????????У?????????????23????????????е???????

????Command-Query Separation (CQS) – ????-??????????

???????????????????????????????????????????????в?????????

????????????????????????????????????????????????

?????????????????????????Command???????????Query??????????????????塣????????????????????t???????????????????????????????????????????????????????????????????????и??????????????????????????????з???????????????????????????????????????????????????????????????????????????????????????????????????Command??Query??????????????????????????????????????????????????????????????????????????????????????????????????????

????????????У??????????????????????????????????????????????????????????????????????????????

?????ο???http://en.wikipedia.org/wiki/Command-query_separation

????You Ain’t Gonna Need It (YAGNI)

????????????????——???????????????????????????????????????????????????????????????????????????

???????????????????????

??????????????????????????

?????????????????????????????£?????????????????????????WebSphere????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????е????????????????????????????????????????????????????????????????

?????ο???http://en.wikipedia.org/wiki/You_Ain%27t_Gonna_Need_It

????Law of Demeter – ?????????

?????????????(Law of Demeter)?????“???????”??Principle of Least Knowledge???????????1987?????????????????Demeter???????Craig Larman??Law of Demeter?????“?????????????”????????????????????н?LoD??????????“???????????????”?????????????????Щ????????????

???????????????????????????????????????????????

????????????????????????????????????????????????????????????

?????????????????????????????????????????????е?????????????????????????????????????????

????????LoD?????????????£?

???????Clean Code??????У??????Apache framework?е????Υ????LoD?????

????final String outputDir = ctxt.getOptions().getScratchDir().getAbsolutePath();

???????????????????????????????????????????????????……????????????????????????????????????????????????