写点什么

架构 2 期 - 第二周作业(2)

用户头像
浮生一梦
关注
发布于: 2020 年 11 月 01 日





概述

本周的学习主要讲述软件框架设计,在设计的过程中采用OOD的方式,遵循各种软件设计原则,构建软件框架,以此来约束业务功能开发模式,也为业务功能开发提供基础的开发支撑,而整体软件对外表现出来的各种非功能性需求,如扩展性、响应性能、可维护性、高可用性等等都是通过框架层来提供基础支撑。

面向对象

面向对象也是一个说烂的概念了,人人都知道面向对象的三大特征封装、继承、多态。在不同的语言层面可能有不同的面向对象的特性实现。如在JavaScript中没有继承的概念,但它却通过原型链的方式模拟出了继承。面向对象的设计也并非是某个语言特性,而是一种软件设计的基础理念。

在日常的软件开发中,也并非一定要面向对象,面向过程和单纯的函数式编程也有其适用的场景,只是在应对复杂性的通用场景方面,面向对象的思考方法会带来一些思维优势。

设计原则

遵循设计原则是为了避免代码中的坏味道。平时写的很多业务代码都是一种面条式的代码,缺乏可重用性、可读性和可维护性。还是应当在实现功能的基础上留出多余的时间进行一遍代码重构,重新审视其是否具有模型坏味道,是否可使用某些原则来重构。

当然在写的过程中,切记不能硬搬模式和设计原则,可用、够用即可,不要过度设计。

反应式编程框架

异步非阻塞这种模式对于Web服务器实现来说非常适合,基于nodejs的Web服务器都属于异步非阻塞方式,由于js本身的单线程异步模式所天生支持,但对于java来说,这样的编程框架确实有其独特优势。



最后,在软件框架的设计过程中不要刻意去套用原则和模式,而是应该按照其一些特性需求去思考,可能就会发现自然而然的就匹配上了某个原则或模式。



用户头像

浮生一梦

关注

还未添加个人签名 2018.04.26 加入

还未添加个人简介

评论

发布
暂无评论
架构 2 期 - 第二周作业(2)