软件开发核心原则:

    • YAGNI(you are not gonna need it)
    • KSS(keep it short and simple)

    这两个原则,是贯彻于每个程序员的职业生涯,绝大部分情况下,此原则都是适用的。YAGNI意思是你只需实现当前仅需的功能,未来的功能不必实现。因为你开发功能大概率都不会被使用。KISS意思是保持程序短小精悍且简单。越简单的程序,可读性就越好,维护起来就越方便。这两个原则非常重要,因为他们能解决软件开发中两个主要问题:减少开发周期和提升代码可维护性。而DDD则是对这两个原则的实践补充。它提炼出问题领域的核心并且将之简化,降低复杂性。将业务逻辑以最简单清晰的方式表达的能力使其完美契合企业级应用。复杂性增长至难以控制的地步,这通常会导致项目流产失败,而DDD可以帮助解决复杂性增长的问题,规避相应的风险。本书的所有内容都是基于DDD理论,从理论过渡到实际,践行YAGNIKISS原则。