三层构架
**nodeJS三层架构思想 **
**什么是三层?**
**表示层**:用于接收用户输入的数据和显示处理后用户需要的数据。
**业务层**: 实现业务逻辑,包含:验证、计算等。
**持久层(数据防问层)**:与数据库打交道。主要实现对数据的增、删、改、查。将存储在数据库中的数据提交给业务层(查询),同时将业务层处理的数据保存到数据库(增,删,改)。
**三层之间的联系?**
用户在**网页界面上**留下需求,网页就会把需求反映给**表示层**,表示层反映给**业务层**,业务层反映给**持久层**,持久层对数据进行**增,删,改,查**的操作,进行操作之后,再返回给业务层,业务层对得到的信息进行**逻辑处理**,再返回给表示层,在表示层的数据就是处理后用户**需要的信息**了,再返回到网页的界面。
**为什么使用三层?**
从上面也可以看出,每层都有自己的任务,他们互不干预,任何一层发生变化也不会影响到其他层,哪一层发生变化,只需要更改该层。
**三层的优缺点:**
**优点:**
1、分工明确,耦合度低,提高了效率,适应需求变化。
2、可维护性高、可扩展性高。
**缺点:**
1、降低了系统的性能。有些业务可以直接去造访数据库,从而获取相应的数据,为了符合分层式结构,则必须通过中音层来完成,比如数据的增加。
2、增加了代码量,增加了工作量
3、有时会导致级联的修改。如果你要在表示层增加一个功能,为了符合分层式结构,可能就需要在业务层和持久层中都增加相应的代码。