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

  • 相关阅读:
    android自己定义控件系列教程----视图
    Android怎样监听蓝牙耳机的按键事件
    Putty SSH简单使用
    Linux配置无线网卡驱动实现无线上网
    Oracle在中文环境下出现乱码解决办法
    百度云盘破解限速|个人值得拥有
    Ubuntu安装出现左上角光标一直闪解决方式
    ubuntu-16.4TLS安装QQ
    2015毕业找工作纪实|一年的蜕变毕业生
    安装rpm包时遇到Header V3 DSA signature: NOKEY时解决办法
  • 原文地址:https://www.cnblogs.com/sailing92/p/14155158.html
Copyright © 2011-2022 走看看