林木森|极致源于热爱

vuePress-theme-reco linmsen    2017 - 2020
林木森|极致源于热爱 林木森|极致源于热爱

Choose mode

  • dark
  • auto
  • light
首页
分类
  • 算法
  • 框架
  • 面试
标签
时间轴
文档
  • 架构
  • 软实力
  • 云原生
  • 中间件
  • JAVA
  • 学习资源
  • 导航
摄影
联系方式
  • GitHub
  • CSDN
  • 博客园
  • 个人博客
author-avatar

linmsen

10

Article

3

Tag

首页
分类
  • 算法
  • 框架
  • 面试
标签
时间轴
文档
  • 架构
  • 软实力
  • 云原生
  • 中间件
  • JAVA
  • 学习资源
  • 导航
摄影
联系方式
  • GitHub
  • CSDN
  • 博客园
  • 个人博客
  • Home
  • 架构概述
  • 架构的演化
  • 架构方法
  • 框架设计
  • 代码重构
  • 系统架构
  • 技术选型
  • 性能优化
  • 关键系统设计
  • 核心技术设计
  • 领域驱动
  • 安全架构
  • 分布式概述
  • 分布式锁
  • 分布式事务
  • 技术栈
  • 微服务
  • 脚手架
  • 最佳实践
  • 未归档

框架设计

vuePress-theme-reco linmsen    2017 - 2020

框架设计


linmsen 2020-05-29

# 编程的实质

目的:用来解决现实世界的问题

编程的过程:在计算机所能理解的模型和现实世界建立一种联系

编程语言是一种抽象机制,问题是对谁进行抽象

# 什么是对象

状态

行为

标识

# 特性:

抽象

继承

分装

多态

  • 运行期注入不同的子类表现出不同的形态

面对象编程的本质

  • 利用多态进行编程

# 框架

# 是什么

用来实现某一类应用的结构性的程序,对某一类架构方法可复用的设计与实现

# 好处

  • 简化开发

  • 实现多种设计模式,使应用开发者不需要花太大力气就能设计出良好的程序来

# 和工具的区别

框架调用应用程序

应用程序调用工具

软件设计的目的是使软件达到“强内聚,低耦合”,从而是软件:

  • 易于扩展
  • 更强壮
  • 可移植
  • 更简单

# 设计原则

原则一:开闭原则(OCP)

原则二:依赖倒置原则(DIP)/好莱坞原则

  • 高层模块不能依赖底层模块,而是大家都依赖于抽象

  • 抽象不能依赖实现,而是依赖抽象

    eg: controller service,接口是为谁定制的,谁定义接口,

  • don't call me, I'll call you

原则三:里氏替换原则

原则四:单一职责原则

Akka 的 Actor

# 设计模式

  • 编程的实质
  • 什么是对象
  • 特性:
  • 框架
  • 是什么
  • 好处
  • 和工具的区别
  • 设计原则
  • 设计模式
我是lookroot欢迎你的关注
看板娘