Atitit.软件开发的几大规则,法则,与原则。。。attilax总结

Atitit.软件开发的几大规则,法则,与原则。。。

1. 设计模式六大原则 2

1.1. 设计模式六大原则(1):单一职责原则 2

1.2. 设计模式六大原则(2):里氏替换原则 2

1.3. 设计模式六大原则(3):依赖倒置原则 2

1.4. 设计模式六大原则(4):接口隔离原则 2

1.5. 设计模式六大原则(5):迪米特法则 2

1.6. 设计模式六大原则(6):开闭原则 2

2. 面向对象的S.O.L.I.D原则 2

2.1. Single Responsibility Principle (SRP)–职责单一原则 3

2.2. Open/Closed Principle (OCP)–开闭原则 3

2.3. Liskov substitution principle (LSP)–里氏代换原则 3

2.4. Interface Segregation Principle (ISP)–接口隔离原则 3

2.5. Dependency Inversion Principle(DIP)–依赖倒置原则 3

3. Other原则 3

3.1. Don’t Repeat Yourself(DRY) 4

3.2. Keep It Simple, Stupid (KISS) 4

3.3. Program to an interface, not an implementation 4

3.4. Command-Query Separation (CQS)–命令-查询分离原则 4

3.5. You Ain’t Gonna Need It(YAGNI) 4

3.6. Common Closure Principle(CCP)–共同封闭原则 4

3.7. Common Reuse Principle (CRP)–共同重用原则 4

3.8. Hollywood Principle–好莱坞原则 4

3.9. High Cohesion & Low/Loose coupling & –高内聚,低耦合 5

3.10. Convention over Configuration(CoC)–惯例优于配置原则 5

3.11. Separation of Concerns (SoC)–关注点分离 5

3.12. Design by Contract (DbC)–契约式设计 5

3.13. Acyclic Dependencies Principle (ADP)–无环依赖原则 5

4. 参考 5

1. 设计模式六大原则

1.1. 设计模式六大原则(1):单一职责原则

1.2. 设计模式六大原则(2):里氏替换原则

1.3. 设计模式六大原则(3):依赖倒置原则

1.4. 设计模式六大原则(4):接口隔离原则

1.5. 设计模式六大原则(5):迪米特法则

最少知识原则”(Principle of Least Knowledge)

1.6. 设计模式六大原则(6):开闭原则

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:[email protected]

转载请注明来源: http://blog.csdn.net/attilax

2. 面向对象的S.O.L.I.D原则

一般来说这是面向对象的五大设计原则,但是,我觉得这些原则可适用于所有的软件开发。

2.1. Single Responsibility Principle (SRP)–职责单一原则

2.2. Open/Closed Principle (OCP)–开闭原则

2.3. Liskov substitution principle (LSP)–里氏代换原则

2.4. Interface Segregation Principle (ISP)–接口隔离原则

2.5. Dependency Inversion Principle(DIP)–依赖倒置原则

3. Other原则

5.合成/聚合复用原则(Composite/Aggregate Reuse Principle,CARP)

在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新的对象通过这些向对象的委派达到复用已有功能的目的.这个设计原则有另一个简短的表述:要尽量使用合成/聚合,尽量不要使用继承.

3.1. Don’t Repeat Yourself(DRY)

3.2. Keep It Simple, Stupid (KISS)

3.3. Program to an interface, not an implementation

3.4. Command-Query Separation (CQS)–命令-查询分离原则

查询:当一个方法返回一个值来回应一个问题的时候,它就具有查询的性质;

命令:当一个方法要改变对象的状态的时候,它就具有命令的性质;

3.5. You Ain’t Gonna Need It(YAGNI)

这个原则简而言之为——只考虑和设计必须的功能,避免过度设计。只实现目前需要的功能,在以后您需要更多功能时,可以再进行添加。

3.6. Common Closure Principle(CCP)–共同封闭原则

3.7. Common Reuse Principle (CRP)–共同重用原则

3.8. Hollywood Principle–好莱坞原则

好莱坞原则就是一句话——“don’t call us,we’ll call you.”。意思是,好莱坞的经纪人们不希望你去联系他们,而是他们会在需要的时候来联系你。也就是说,所有的组件都是被动的,所有的组件初始化和调用都 由容器负责。组件处在一个容器当中,由容器负责管理。

单的来讲,就是由容器控制程序之间的关系,而非传统实现中,由程序代码直接操控。这也就是所谓“控制反转”的概念所在:

· 1.不创建对象,而是描述创建对象的方式。

· 2.在代码中,对象与服务没有直接联系,而是容器负责将这些联系在一起。

3.9. High Cohesion & Low/Loose coupling & –高内聚,低耦合

3.10. Convention over Configuration(CoC)–惯例优于配置原则

3.11. Separation of Concerns (SoC)–关注点分离

3.12. Design by Contract (DbC)–契约式设计

3.13. Acyclic Dependencies Principle (ADP)–无环依赖原则

4. 参考

软件设计的七大原则 - On the way - 博客园.html

一些软件设计原则 - 博客 - 伯乐在线.html

一些软件设计原则 - 博客 - 伯乐在线.html

时间: 2024-10-12 12:51:35

Atitit.软件开发的几大规则,法则,与原则。。。attilax总结的相关文章

Atitit.软件开发的几大规则,法则,与原则Principle v3

Atitit.软件开发的几大规则,法则,与原则Principle  v3 1.1. 修改历史22. 设计模式六大原则22.1. 设计模式六大原则(1):单一职责原则22.2. 设计模式六大原则(2):里氏替换原则22.3. 设计模式六大原则(3):依赖倒置原则22.4. 设计模式六大原则(4):接口隔离原则22.5. 设计模式六大原则(5):迪米特法则22.6. 设计模式六大原则(6):开闭原则23. S.O.L.I.D原则(oo fp)33.1. Single Responsibility P

atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform

atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform 1. Absoluti 布局(经常使用) 1 2. Flow 布局(不经常使用) 1 3. BorderLayout (不经常使用) 1 4. BoxLayout( html默认布局) 2 5. CardLayout (tab 布局) 2 6. GridLayout 3 7. GridBagLayout 3 8. Fixed 定位(不经常使用) 3

Atitit.软件开发概念(11)--网络子系统--url编码 空格问题URLEncoder java js php

Atitit.软件开发概念(11)--网络子系统--url编码 空格问题URLEncoder java js php 1. RFC2396标准 including HTML 4.01 section 17.13.4, and also RFC 1866 (which is supercededby the W3C HTML recommendations). 在form的ContextType是[x-www-form-urlencoded]的时候会对form中的键/值对进行编码,空格被转义成+,

Atitit 软件开发中 瓦哈比派的核心含义以及修行方法以及对我们生活与工作中的指导意义

Atitit 软件开发中 瓦哈比派的核心含义以及修行方法以及对我们生活与工作中的指导意义 首先我们指明,任何一种行动以及教派修行方法都有他的多元化,只看到某一方面,就不能很好的评估利弊,适不适合自己使用,犹如盲人摸象,虽然都对,但是并不完整 1. 瓦哈比教派的核心思想1 1.1. 归一化,反对多神..反对邪教与不良的 修炼方式1 1.2. 规范化,标准化最佳实践 圣训立国,依法治国1 1.3. 主张整肃社会风尚,净化人们的"心灵1 1.4. 倡导团结,团队建设1 1.5. 回归传统,轻量化1 2

atitit.软件开发--socket框架选型--netty vs mina j

atitit.软件开发--socket框架选型--netty vs mina j . Netty是由JBOSS提供的一个java开源框架 Apache mina 三.文档比较 mina文档多,,, 好几倍... 作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:[email protected] 转载请注明来源: http://blog.csdn.net/attilax 四.UDP协议传输 1. netty将UDP无连接的特性暴露出来:而mina对UDP进行了高级层次的抽象,可以把UD

Atitit. 软件开发中的管理哲学--一个伟大的事业必然是过程导向为主 过程导向 vs 结果导向

Atitit. 软件开发中的管理哲学--一个伟大的事业必然是过程导向为主    过程导向 vs 结果导向 1. 一个伟大的事业必然是过程导向为主 1 1.1. 过程的执行情况(有明确的执行手册及标准) 2 1.2. 麦哲伦的事例证明了过程导向的重要性 2 1.3. 婆罗门教大师商接罗所 过程导向,属于上梵,结果导向,属于下梵 2 1.4. 罗马皇帝诚思录上,说人生本身就是过程导向, 2 1.5. 过程导向基本属于战略层面,侧重与长期,而结果导向只是战术级别,短期容易短视 3 1.6. 任何组织的

Atitit.软件开发提升稳定性总结

#----影响稳定性几个类别 3 1. 资源和内存泄漏溢出 3 2. 数据库/文件死锁 3 3. 类库冲突 3 4. 热更新热部署(业务可用性 3 5. 程序崩溃 3 6. 磁盘空间/cpu/内存占用过高 3 #-----影响稳定性的因素 3 7. 内存泄漏溢出 3 8. 数据库连接泄漏 3 9. 数据库死锁 3 10. 类库冲突,造成部署问题 4 11. 热更新的支持不足,部署比較麻烦 4 12. Web服务跟数据库服务崩溃 4 13. 非托管资源的释放 4 14. 其它的潜在隐患: 4 15

Atitit.软件开发的三层结构isv金字塔模型

第一层,Implements 层,着重与功能的实现.. 第二次,spec层,理论层,设计规范,接口,等.流程.方法论 顶层,val层,价值观层,原则,法则,定律等. 这一建构应从界定内涵出发,从器物.制度和意识形式三个层面厘定其表征:并结合发展轨迹,通过比较,探索.建构有利于“本土”文化,必须着力追寻能推动这一文化特质生成的进路,并以发挥其实践功效为归宿点和落脚点. 作者::  ★(attilax)>>>   绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui

Atitit.软件开发概念说明--io系统区--特殊文件名称保存最佳实践文件名称编码...filenameEncode

不个网页title保存成个个文件的时候儿有无效字符的问题... 通常两个处理方式::: replace 成个空格或者使用转义(推荐)... windows的文件名称无效字符.../\:* <>\"| 斜杠,反斜杠,冒号,星号,问号,左右的 尖括号,双引号,树杠...而且..."." 一个点和 ".."双点分别用来表示"当前目录"和"父目录", 因此它们也不能作为文件名 Linux的基本上只有反斜杠...