逻辑框架

ASP.NETCORE MVC模块化

≡放荡痞女 提交于 2020-01-02 02:35:15
ASP.NETCORE MVC模块化编程 前言 记得上一篇博客中跟大家分享的是基于ASP.NETMVC5,实际也就是基于NETFRAMEWORK平台实现的这么一个轻量级插件式框架。那么今天我主要分享的是自己工作中参考三方主流开源WEB框架OrchardCore、NopCore等,实现的另外一个轻量级模块化WEB框架,当然这个框架就是基于当下微软力推和开源社区比较火爆的基础平台ASPNETCORE。 进入正题之前,我觉得先有必要简单介绍一下ASPNETCORE这个平台大家比较关心的几个指标。 其一性能,话不多说直接看个人觉得比较权威的性能测试网站 https://www.techempower.com/benchmarks/#section=data-r17&hw=ph&test=fortune ,微软官方给出的数据性能是ASPNET的23倍。 其二生态,从NETCORE2.0开始,国内越来越多的大型互联网公司开始支持,比如百度云SDK、腾讯云SDK、腾讯的Tars 微服务平台、携程、阿里云等等。我们可以看看相关的issue,以百度云为例 https://github.com/Baidu-AIP/dotnet-sdk/issues/3。 其三迁移,自NETCORE2.0开始,有越来越多的三方nuget包支持。 其四开源,使用的是MIT和Apache 2开源协议,文档协议遵循CC-BY

MVC的概念及MVC 3.0开发环境

大兔子大兔子 提交于 2019-12-27 05:17:59
摘要 MVC即: Model(模型), View(视图), Controller(控制器) Model : 模型对象是实现应用程序数据域逻辑的应用程序部件。 通常,模型对象会检索模型状态并将其存储在数据库中。 例如, Product 对象可能会从数据库中检索信息,操作该信息,然后将更新的信息写回到 SQL Server 数据库内的 Products 表中。 在小型应用程序中,模型通常是概念上的分离,而不是实际分离。 例如,如果应用程序仅读取数据集并将其发送到视图,则该应用程序没有物理模型层和关联的类。 在这种情况下,数据集担当模型对象的作用。 Controller : 控制器是处理用户交互、使用模型并最终选择要呈现的视图来显示 UI 的组件。 在 MVC 应用程序中,视图仅显示信息;控制器则用于处理和响应用户输入和交互。 例如,控制器处理查询字符串值,并将这些值传递给模型,而模型可能会使用这些值来查询数据库。 就是程序通过Controller从浏览器中接受命令,决定用它做什么,并返反馈给用户。即获取数据,然后将数据绑定到页面控件的这个业务逻辑。 View : 视图是显示应用程序用户界面 (UI) 的组件。 通常,此 UI 是用模型数据创建的。 Products 表的编辑视图便是一个视图示例,该视图基于 Product 对象的当前状态显示文本框、下拉列表和复选框。

Mock方法介绍

别等时光非礼了梦想. 提交于 2019-12-26 04:49:03
1.现有的单元 测试 框架 单元测试是保证程序正确性的一种有效的测试手段,对于不同的开发语言,通常都能找到相应的单元框架。 借助于这些单测框架的帮助,能够使得我们编写单元测试用例的过程变得便捷而优雅。框架帮我们提供了case的管理,执行,断言集,运行参数,全局事件工作,所有的这些使得我们只需关注:于对于特定的输入,被测对象的返回是否正常。 那么,这些xUnit系列的单元测试框架是如何做到这些的了?分析这些框架,发现所有的单元测试框架都是基于以下的一种体系结构设计的。 如上图所示,单测框架中通常包括TestRunner, Test, TestResult, TestCase, TestSuite, TestFixture六个组件。 TestRuner:负责驱动单元测试用例的执行,汇报测试执行的结果,从而简化测试 TestFixture:以测试套件的形式提供setUp()和tearDown()方法,保证两个test case之间的执行是相互独立,互不影响的。 TestResult:这个组件用于收集每个test case的执行结果 Test:作为TestSuite和TestCase的父类暴露run()方法为TestRunner调用 TestCase:暴露给用户的一个类,用户通过继承TestCase,编写自己的测试用例逻辑 TestSuite:提供suite功能管理testCase

01-01 Web应用

寵の児 提交于 2019-12-24 16:01:10
一 Web应用的组成 好看的小说 www.shupu.org 接下来我们学习的目的是为了开发一个Web应用程序,而Web应用程序是基于B/S架构的,其中B指的是浏览器,负责向S端发送请求信息,而S端会根据接收到的请求信息返回相应的数据给浏览器,需要强调的一点是:S端由server和application两大部分构成,如图所示: 上图:Web应用组成 二 开发一个Web应用 我们无需开发浏览器(本质即套接字客户端),只需要开发S端即可,S端的本质就是用套接字实现的,如下 # S端 import socket def make_server(ip, port, app): # 代表server sock = socket.socket() sock.bind((ip, port)) sock.listen(5) print('Starting development server at http://%s:%s/' %(ip,port)) while True: conn, addr = sock.accept() # 1、接收浏览器发来的请求信息 recv_data = conn.recv(1024) # print(recv_data.decode('utf-8')) # 2、将请求信息直接转交给application res = app(recv_data) # 3

react-redux框架之connect()与Provider组件 用法讲解

£可爱£侵袭症+ 提交于 2019-12-12 19:16:26
react-redux 在 react-redux 框架中,给我提供了两个常用的API来配合Redux框架的使用,其实在我们的实际项目开发中,我们完全可以不用 react-redux 框架,但是如果使用此框架,就如虎添翼了。 我们来简单聊聊这两个常用的API connect() Provider 组件 React-Redux 将所有组件分成两大类:UI 组件(presentational component)和容器组件(container component)。 1. UI 组件 UI 组件有以下几个特征: 只负责 UI 的呈现,不带有任何业务逻辑 没有状态(即不使用this.state这个变量) 所有数据都由参数(this.props)提供 不使用任何 Redux 的 API 下面就是一个 UI 组件的例子。 const Title = value => < h1 > { value } < / h1 > ; 因为不含有状态,UI 组件又称为"纯组件",即它纯函数一样,纯粹由参数决定它的值。 2. 容器组件 容器组件的特征恰恰相反。 负责管理数据和业务逻辑,不负责 UI 的呈现 带有内部状态 使用 Redux 的 API 总之,只要记住一句话就可以了:UI 组件负责 UI 的呈现,容器组件负责管理数据和逻辑。 你可能会问,如果一个组件既有 UI 又有业务逻辑,那怎么办?回答是

游戏开发总结-java篇

感情迁移 提交于 2019-12-12 13:36:37
游戏开发总结-java篇 前言 网络通信 数据存储 逻辑开发 逻辑开发一般遇到的问题有: Java游戏服务器方面的开发要掌握的技术: java服务器目前主流框架技术 前言 Java语言,由于学习成本低,开发速度快,稳定性高,开源框架多,目前已成为网页游戏和手机游戏服务器开发的主要语言。从系统的开发流程简单梳理一下服务器开发需要用到的技术。 网络通信 这个是首要实现的,如果没有网络通信,就没有服务器存在的必要了。 网络通信就需要建立网络连接。目前网络通信有两种方式, 一种是短连接 比如http, 一种是长连接 比如socket 当然http也是基于socket的,socket是通信的基础。所以要对tcp/ip通信的知识有所了解,明白通信的原理。 基于这两种网络通信,游戏服务器也分为两种,弱联网和强联网。 弱联网的游戏一般是指一些小型的游戏,比如开心消消乐,连连看,以及一些卡牌养成类游戏,这类游戏一般几秒钟或几分钟再会与服务器同步一次数据,一般会使用短连接。 一些arpg游戏,实时战斗类游戏,以及带同屏显示玩家的游戏,这类游戏与服务器交互信息频繁,一秒钟可能几十次,会采用长连接,避免每次连接重新建立消耗系统资源,提高通信效率。 为了网络通信的效率,服务器要使用NIO(非阻塞网络通信)通信。它能支持大并发连接。 Java NIO是多路复用IO,在多路复用IO模型中

Spring初探:概念认知与特点分析

扶醉桌前 提交于 2019-12-06 02:55:31
Spring初探 1. Spring是什么? Spring 是一个开源的轻量级 Java SE( Java 标准版本)/Java EE( Java 企业版本)开发应用框架,其目的是用于简化企业级应用程序开发。在传统应用程序开发中,一个完整的应用是由一组相互协作的对象组成的。所以开发一个应用除了要开发业务逻辑之外,最多的是关注使这些对象协作来完成所需功能的同时,实现低耦合、高内聚。所以,业务逻辑开发是不可避免的。如果有个框架可以帮我们来创建对象及管理这些对象之间的依赖关系,能通过配置方式来创建对象,管理对象之间依赖关系,我们不需要通过工厂和生成器来创建及管理对象之间的依赖关系,这样我们必然会减少许多工作量,加快开发。Spring 框架问世之初主要就是来完成这个功能。 2. Spring技术可以用来干什么? Spring 框架除了帮我们管理对象及其依赖关系,还提供像通用日志记录、性能统计、安全控制、异常处理等面向切面的能力,可以帮我们管理最头疼的数据库事务,同时,它本身提供了一套简单的 JDBC 访问实现,能与第三方数据库访问框架集成(如 Hibernate、JPA ),与各种 Java EE 技术整合(如 Java Mail、任务调度等等),提供一套自己的 web 层框架 Spring MVC 、而且还能非常简单的与第三方 web 框架集成。从这里我们可以认为 Spring

第8章 高性能服务器框架

夙愿已清 提交于 2019-12-05 11:27:13
第8章 高性能服务器框架 这一章是全书的核心,也是后续章节的总览。在这一章中,我们按照服务器程序的一般原理, 将服务器结构为如下三个主要模块: I/O处理单元。本章将介绍I/O处理单元的四种I/O模型和两种高效时间处理模式。 逻辑单元。本章将介绍逻辑单元的两种高效并发模式,以及高效的逻辑处理方式----有限状态机。 存储单元。本书不讨论存储单元,因为它只是服务器程序的可选模块,而且其内容与网络编程本身无关。 最后,本章还介绍了提高服务器性能的其他建议。 8.1 服务器类型 8.1.1 C/S 模型 TCP服务器和TCP客户端的工作流程(图) C/S模型非常适合资源相对几重的场合,并且它的实现也很简单,但其缺点也很明显: 服务器是通信的中心,当访问量过大时,可能所有客户端都将得到很慢的响应。 8.1.2 P2P模型 P2P模型使得每台机器在消耗服务的同事也给别人提供服务,这样自由能够充分、自由地共享。 P2P模型的缺点也很明显:当用户之间传输的请求过多时,网络的负载将加重。 P2P模型还存在一个显著的问题,即主机之间很难互相发现。所以实际使用的P2P模型通常带有一个专门的发现服务器。 这个发现服务器通常还提供查找服务,使每个客户都能尽快地找到自己需要的资源。 8.2 服务器编程框架 I/O 处理单元 请求队列 逻辑单元 请求队列 网络存储单元(可选) I/O

转:TCC分布式事务

柔情痞子 提交于 2019-12-05 04:54:23
FROM: https://www.cnblogs.com/jajian/p/10014145.html 之前网上看到很多写分布式事务的文章,不过大多都是将分布式事务各种技术方案简单介绍一下。很多朋友看了还是不知道分布式事务到底怎么回事,在项目里到底如何使用。 所以这篇文章,就用大白话+手工绘图,并结合一个电商系统的案例实践,来给大家讲清楚到底什么是 TCC 分布式事务。 首先说一下,这里可能会牵扯到一些 Spring Cloud 的原理,如果有不太清楚的同学,可以参考之前的文章: 《拜托,面试请不要再问我Spring Cloud底层原理!》 。 1 | 0 业务场景介绍 咱们先来看看业务场景,假设你现在有一个电商系统,里面有一个支付订单的场景。 那对一个订单支付之后,我们需要做下面的步骤: 更改订单的状态为“已支付” 扣减商品库存 给会员增加积分 创建销售出库单通知仓库发货 这是一系列比较真实的步骤,无论大家有没有做过电商系统,应该都能理解。 2 | 0 进一步思考 好,业务场景有了,现在我们要更进一步,实现一个 TCC 分布式事务的效果。 什么意思呢?也就是说,[1] 订单服务-修改订单状态,[2] 库存服务-扣减库存,[3] 积分服务-增加积分,[4] 仓储服务-创建销售出库单。 上述这几个步骤,要么一起成功,要么一起失败,必须是一个整体性的事务。 举个例子

Vue 浅谈前端js框架vue(2)

独自空忆成欢 提交于 2019-12-04 15:19:59
Vue Vue近几年来特别的受关注,三年前的时候angularJS霸占前端JS框架市场很长时间,接着react框架横空出世,因为它有一个特性是虚拟DOM,从性能上碾轧angularJS,这个时候,vue1.0悄悄 的问世了,它的优雅,轻便也吸引了一部分用户,开始收到关注,16年中旬,VUE2.0问世,这个时候vue不管从性能上,还是从成本上都隐隐超过了react,火的一塌糊涂,这个时候,angular 开发团队也开发了angular2.0版本,并且更名为angular,吸收了react、vue的优点,加上angular本身的特点,也吸引到很多用户,目前已经迭代到5.0了。 学习vue是现在前端开发者必须的一个技能。 前端js框架到底在干嘛,为什么要用 js框架帮助开发者写js逻辑代码,在开发应用的时候js的功能划分为如下几点: 渲染数据 操作dom(写一些效果) 操作cookie等存储机制api 在前端开发中,如何高效的操作dom、渲染数据是一个前端工程师需要考虑的问题,而且当数据量大,流向较乱的时候,如何正确使用数据,操作数据也是一个问题 而js框架对上述的几个问题都有自己趋于完美的解决方案,开发成本降低。高性能高效率。唯一的缺点就是需要使用一定的成本来学习。 Vue官网介绍 vue是渐进式JavaScript框架 “渐进式框架”和“自底向上增量开发的设计”是Vue开发的两个概念