应用架构设计原则、模式摘录

时间:2023-02-04 21:14:34

1.Tier和Leyer的区别:

Tier 指的是系统的物理部署结构

Leyer 指的是系统的逻辑层结构

 

2.基本设计原则概述

KISS原则 提倡在设计和编码中,尽量保持代码的简约性,避免不必要的复杂

DRY原则 抽取系统中的公共部分,并把它放到一个地方避免重复,既适用于代码也试用于功能和业务逻辑

Tell,Don’t Ask原则 要去对代码进行合理的封装,并把它放到正确的类中,并明确告诉对象我们想要它去执行什么样的操作,而不是首先询问对象的状态

YAGNI原则 设计中只包含所必须的功能,不包含你认为将来可能会用到的功能或特性,防止过度设计

Soc原则 把一个软件功能分离为单独功能点,被分离的每个功能点有唯一的行为和数据,而且每一个功能都能被其他所需要的类单独使用,通过这个原则,我们可以最大限度的实现代码重用、功能模块重用

 

3.S.O.L.I.D原则

SRP 单一职责原则 就一个类而言,应仅有一个引起它变化的原因。

OCP 开放封闭原则 软件实体(类、模块)应该是可扩展的,但是不可修改。

LSP 里氏替换原则 子类必须能够替换它们的基类型

ISP 接口分离原则 不应该强迫类实现它不需要的方法。如歌一个接口中包含了很多不大而且不相关的方法,那么这个接口就必须要被分组,让后分离出多个接口,让实现接口的类去实现它需要的方法。

DIP 依赖倒置原则 高层的模块不应该依赖于低层的模块,二者应该依赖于抽象,抽象不应该依赖于细节,细节应该依赖于抽象,高层模块是指系统不经常发生变化的部分,是一个系统区别于其他系统的标志,包含了系统的策略选择和业务模型。底层模块是指系统中经常发生变化的部分。

 

4.企业级开发

企业级开发通常是指在开发工程中采用实现企业架构的模式和实践方法。企业级开发会使用很多的方法和方法论来实现系统必须具备的指标:可靠性,灵活性,重用性、可维护性,这些指标也是衡量一个软件系统好坏的指标。所有企业级项目就已上(RFRM)的项目,企业级项目的概念和项目的大小是没有什么关系的。

 

5.测试驱动开发(TDD)

TDD的目的是通过测试来形成好的设计。进行软件开发的时候,首先通过写不能测试通过的测试代码来确认一下业务逻辑,然后写出真正的业务逻辑代码使测试代码通过,最后重构代码。

 

6.领域驱动开发(DDD)

领域驱动开发的核心是如何将业务领域的概念映射到软件开发中,DDD通过对现实领域中的概念进行抽象和建模,然后进一步分析业务规则和业务模型之家的关系,从而得到一个更加接近现实领域的所有业务模型,从而开发能够解决领域问题的软件。

 

7.行为驱动开发(BDD)

行为驱动开发是一种融合了可接受性测试驱动计划、领域驱动设计、及驱动开发的敏捷开发模型。