设计原则
时间:2020-03-06 14:24:19 来源:igfitidea点击:
在进行课堂设计时,通常遵循哪些原则?
解决方案
面向对象的类设计原理(" SOLID"原理)
- SRP:单一责任原则A类应该只有一个改变理由。
- OCP:开放式封闭原则我们应该能够扩展类的行为,而无需对其进行修改。
- LSP:Liskov替代原理派生类必须可以替代其基类。
- ISP:接口隔离原理制作特定于客户端的细粒度接口。
- DIP:依赖倒置原理依赖于抽象,而不依赖于具体。
资料来源:http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod
通常,遵循领域驱动设计是一个很好的原则。
S.O.L.I.D.原则。
或者至少我尽量避免过多地偏离他们。
查看http://www.objectmentor.com/resources/publishedArticles.html
一般而言,这是设计原则的良好参考。
"资源获取就是初始化"范例非常方便,尤其是在用C ++编写并处理操作系统资源(文件句柄,端口等)时。
这种方法的主要好处是,一旦创建了一个对象,它便是"完整的"对象,不需要两阶段初始化,也不需要部分初始化对象。
我通常尝试使该类适合oo设计模式之一。
基本上,我不会对接口进行编程。我试图封装那些因情况而异的代码,以避免代码重复,并将代码隔离为可管理的(对我而言)的块。以后,如果需要,我可以轻松地重构代码。
如上所述,一些基本的面向对象设计原则是OCP,LSP,DIP和ISP。
以下是由Object Mentor的Robert C. Martin撰写的一篇出色的概述:OOD原理和模式
松散耦合,高度凝聚力。
组成超过继承。
别忘了得墨meter耳定律。
SOLID原则和Liskov模式,以及单一责任模式。
最基本的设计模式应该是KISS(保持简单愚蠢)
这意味着有时根本不对某些元素使用类是正确的解决方案。
那张和CRC(类,责任,协作者)卡(将卡记在头文件中,而不是写在实际的卡上,因为它们也很容易理解文档)