Design Principles在进行课堂设计时,通常遵循哪些原则? 面向对象的类设计原理(" SOLID"原理)
资料来源:http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod 别忘了得墨meter耳定律。
S.O.L.I.D.原则。
最基本的设计模式应该是KISS(保持简单愚蠢) 那张和CRC(类,责任,协作者)卡(将卡记在头文件中,而不是写在实际卡上,因为它们也很容易理解文档) 如上所述,一些基本的面向对象设计原则是OCP,LSP,DIP和ISP。 以下是由Object Mentor的Robert C. Martin撰写的一篇出色的概述:OOD原理和模式 松散耦合,高度凝聚力。 组成超过继承。 "资源获取就是初始化"范例非常方便,尤其是在用C ++编写并处理操作系统资源(文件句柄,端口等)时。 这种方法的主要好处是,一旦创建了一个对象,它便是"完整的"-不需要两阶段初始化,也不需要部分初始化对象。 通常,遵循领域驱动设计是一个很好的原则。 我要添加的所有内容是分层,在应用程序中定义层,层的总体责任以及它们如何使两层相互作用。在该层中只应允许与该层具有相同职责的类。这样做可以解决很多混乱情况,确保可以正确处理异常,并确保新开发人员知道将代码放置在何处。 另一种设计方法是通过将您的类设计为可配置的,从而创建一种机制,在该机制中可以将配置插入类中,而不是覆盖子类中的方法,确定哪些更改,查看是否可以进行配置,并确保此功能是可配置的。从配置派生 SOLID原则和Liskov模式,以及单一责任模式。 基本上,我不会对接口进行编程。我试图封装那些因情况而异的代码,以避免代码重复,并将代码隔离为可管理的(对我而言)的块。以后,如果需要,我可以轻松地重构代码。 我通常尝试使该类适合oo设计模式之一。 |