zoukankan      html  css  js  c++  java
  • 11月core学习笔记

    假如你是一个架构的搭建者,该如何设计web框架
    背景:一个httpcontext,里面有request信息
     
    asp.net管道事件
    因为有多个固定步骤,每个步骤前后都可能要扩展动作,把动作前后分辨添加事件,支持动作注册
     
    注册动作后,请求进来时,就会按照顺序执行事件(注册的动作就执行了)
     
    以此完成扩展性设计
     
    管道模型的本质
     
    httprequest==》httpresponse
    httpcontext==》action
    管道的本质就是一个方法,接收httpcontext,然后去执行一些动作
     
     
    requestdelegate
    接收一个httpcontext
     
     
    1、confige
    1)是一张白纸,没有内置任何东西,要什么写什么 pay-for-what-you-use
    2)扩展比较容易
     
     
    ##############################################################
     
    why IOC
     
    1、可以去掉对细节的依赖,方便扩展
    减少影响范围,甚至转移到配置文件依赖,只需要改配置文件
    2、可以做到屏蔽细节,对象依赖注入(DI)
     
    DI依赖注入:是实现IOC的手段
    构造对象时,能自动把一拉的对象生成并传入 支持递归无限级
    这种技术手段就叫做依赖注入
     
     
    更好的解耦
     
     
     
    表示层
    IBLL
    业务逻辑层 依赖注入 IOC DI
    IDAL
    数据访问层
     
    调用
     
    数据源 实体类 辅助类
     
    ##############################################################
     
    ServiceCollection 内置在asp.netcore的全新的容器
     
    容器除了能生成对象,还能做很多其他事情
     
    AddTransient 瞬时生命周期 即时构造
    AddSingleton 单例 全程唯一
    AddScoped 作用域单例 容器实例单例
    没有线程单例
     
     
    1、单例很好?
    不建议太多的单例
    配置文件
    链接池
     
    2、瞬时容器
     
    3、请求单例--一次http请求就是一个实例
    这说明一次请求会创建一个容器
     
    比如事务 主要是适用于一次请求只需要一个对象,不同请求需要不同的对象

    AOP面向切面编程
    在不破坏封装的前提下,去额外的扩展功能
     
    1、聚焦业务逻辑,轻松扩展功能
    2、代码复用,集中管理
     
     
     
    面向切面编程-Filter
    1、Autorization Filter
    2、Resource Filter
    3、Action Filter
    4、Exception Filter
    5、Result Filter
     
     
    程序运行
     
    dotnet 项目.dll --urls="http://*:5000" --ip="127.0.0.1" --port=5000

  • 相关阅读:
    遥控器油门摇杆电位器封装尺寸图
    Microhard P900 900MHz跳频电台核心模块
    航路点
    当电桥为恒流源时惠斯通电桥电压的计算方法
    曲轴位置传感器
    16种发动机动态工作原理图,神奇的帅呆了!
    ffmpeg mediacodec 硬解初探
    ffmpeg编码常见问题排查方法
    阿里云 访问控制RAM
    WannaCry勒索病毒处理指南
  • 原文地址:https://www.cnblogs.com/sailing92/p/14155158.html
Copyright © 2011-2022 走看看