Giter Club home page Giter Club logo

fake's Introduction

介绍

Fake的目的是为了探索Web应用程序编程之道的最佳实践,如果你也一样有兴趣,可以加入并成为Faker~

目前主要参考项目:Abp,MediatR,EShop

🐣开始

$ git clone https://gitee.com/xiaolipro/fake.git
$ cd fake
$ dotnet restore

😂请帮帮我

  • mutil-framework compatibility
  • unit test,functional test,benchmark test and more
  • simple demo,useage doc
  • bug issue and idel...

🐌基础能力

  • 模块化
  • 依赖注入
    • 自动注入
    • 属性注入
  • 授权
    • 基于Roles-RBAC
    • 基于Schemes-自定义认证
    • 基于Policy-动态策略
    • 根据endpoint自动生成policy
  • 审计日志
    • 请求审计
    • 方法审计
    • 实体审计
    • 实体变更审计
  • 本地化(多语言)
    • 本地文件系统
    • 远程动态数据
  • 文件系统
    • Fake虚拟文件系统
    • 原WebRootFileProvider
    • wwwroot物理文件系统
  • 工作单元
  • 测试
    • Fake集成测试
    • Fake-Host集成测试(AspNetCore)
  • 对象映射
    • ObjectMapper
    • AutoMapper
    • Mapster
  • 事件总线
    • 本地事件总线
    • 分布式事件总线

😘领域驱动设计

  • 实体
    • 实体审计
    • 领域事件
    • 聚合根
      • 乐观锁
  • 值对象
  • 枚举
  • 仓储
  • 领域事件
  • 领域异常

🐸微服务能力

  • Consul服务发现与注册
    • 客户端负载均衡
    • 支持kv热更新
  • Grpc客户端负载均衡
  • RabbitMQ分布式事件总线
  • SkyWalking分布式链路追踪

Grpc

  • 可自定义客户端负载均衡算法/服务解析器
  • 日志拦截器,skywalking上报
  • 异常抛出GrpcException,可被管道捕获(适合host)
  • 回退机制,客户端先起,阻塞等待可用服务出现(适合work)
  • 服务端掉线,自动踢出可用队列
  • 服务不可达/grpc内部异常,自动重试机制
  • 连接持活机制,服务队列缓存机制等

鸣谢

JetBrains https://jb.gg/OpenSourceSupport.

fake's People

Contributors

xiaolipro avatar fzh233 avatar wosledon avatar hardstylew avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.