services

prototype pattern原型模式

两盒软妹~` 提交于 2020-02-28 07:27:10
定义 原型模式是一种非常简单的是模式,属于创建型设计模式的一种。原型模式(Prototype)即应用于“复制”操作的模式,此模式最初定义在《设计模式》(Addison-Wesley,1994),定义为: “ 使用原型实例指定创建对象的种类,并通过复制这个原型创建新的对象 ” 。简单来理解就是根据这个原型创建新的对象,这种创建是指深复制,得到一份新的内存资源,而不是一个新的指针引用。我们都知道,创建型模式一般是用来创建一个新的对象,然后我们使用这个对象完成一些对象的操作,我们通过原型模式可以快速的创建一个对象而不需要提供专门的new()操作就可以快速完成对象的创建,这无疑对于快速的创建一个新的对象是一种非常有效的方式。 结构 原型模式结构如下页上图所示: 客户(Client):使用原型对象的客户程序,客服端知道抽象的Prototype类 抽象原型(Prototype):规定了具体原型对象必须实现的接口(如果要提供深拷贝,则必须具有实现clone的规定) 具体原型(ConcretePrototype):从抽象原型派生而来,是客户程序使用的对象,即被复制的对象。此角色需要实现抽象原型角色所要求的接口。 Prototype类中包括一个Clone方法,Client知道Prototype,调用其复制方法clone即可得到多个实例,不需要手工去创建这些实例。

您的主机中的软件中止了一个已建立的连接。

核能气质少年 提交于 2020-02-28 03:14:32
我这个错误是ASP.NET与Web.Services连接造成的,原因很简单就是远程的Web.Services主机关闭了,也就是没有连上对方服务器造成的! 经过测试就是这样的 ! 附图: “/”应用程序中的服务器错误。 您的主机中的软件中止了一个已建立的连接。 说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Net.Sockets.SocketException: 您的主机中的软件中止了一个已建立的连接。 源错误: 行 356: [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetClassesByGardenId", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] 行 357:

linux中文件处理命令

穿精又带淫゛_ 提交于 2020-02-27 15:54:21
目录 touch cat more less head tail touch 解释 命令名称:touch 命令所在路径:/bin/touch 执行权限:所有用户 功能描述:创建空文件 语法 touch [文件名] 示例 # 当前目录下创建空文件 touch test.txt # 在已存在test.txt的基础上再次touch test.txt,修改test.txt的最后修改时间 touch test.txt # 在/root下创建空文件 touch /root/test.txt # 创建带空格的文件 touch "program files" cat 解释 命令名称:cat 命令所在路径:/bin/cat 执行权限:所有用户 功能描述:显示文件内容 语法 cat [文件名] -n 显示行号 示例 # 显示文件内容 cat test.txt # 显示文件内容,带行号 cat -n test.txt # 倒序显示文件的内容 tac test.txt more 解释 命令名称:more 命令所在路径:/bin/more 执行权限:所有用户 功能描述:分页显示文件内容 语法 more [文件名] (空格)或f 翻页 (enter) 换行 q或Q 退出 示例 # 分页显示内容 more /etc/services 使用(空格)或f 向下翻页 使用enter 向下换行 使用q或Q退出浏览

给微软的依赖注入框架写一些扩展方法

邮差的信 提交于 2020-02-26 13:19:13
原文: 给微软的依赖注入框架写一些扩展方法 给微软的依赖注入框架写一些扩展方法 Intro # 现在在项目里大多都是直接使用微软的依赖注入框架,而微软的注入方式比较简单,不如 AutoFac 使用起来灵活,于是想给微软的依赖注入增加一些扩展,使得可以像AutoFac 一样比较灵活的注册服务 Extensions # RegisterTypeAsImplementedInterface # 将类型注册为其实现的接口,比如 pubic class UserService:IUserService,IUserRepository{} , 注册 UserService 为 IUserService 和 IUserRepository 等效于: Copyservices.AddSingleton<IUserService, UserService>(); services.AddSingleton<IUserRepository, UserService>(); 实现代码: Copy/// <summary> /// RegisterTypeAsImplementedInterfaces /// </summary> /// <param name="services">services</param> /// <param name="type">type</param> ///

dotnetcore3.1 WPF 中使用依赖注入

陌路散爱 提交于 2020-02-26 13:18:29
原文: dotnetcore3.1 WPF 中使用依赖注入 dotnetcore3.1 WPF 中使用依赖注入 Intro # 在 ASP.NET Core 中默认就已经集成了依赖注入,最近把 DbTool 迁移到了 WPF dotnetcore 3.1, 在 WPF 中我们也希望能够使用依赖注入,下面来介绍一下如何在 WPF dotnetcore3.1 中使用依赖注入 App.xaml 配置 # 打开 App.xaml 文件,删除 StartupUri 配置, StartupUri="MainWindow.xaml" 打开 App.xaml.cs 重载 OnStartup 方法,在 OnStartup 中添加自己的初始化代码,在初始化代码中注册自己的服务注册 MainWindow,并在最后从服务中获取 MainWindow 服务,并调用 window 的 Show 方法 Copypublic partial class App : Application { protected override void OnStartup(StartupEventArgs e) { Init(); base.OnStartup(e); } private void ConfigureServices(IServiceCollection services) { services

dotnetcore3.1 WPF 中使用依赖注入

本小妞迷上赌 提交于 2020-02-26 12:56:13
dotnetcore3.1 WPF 中使用依赖注入 Intro 在 ASP.NET Core 中默认就已经集成了依赖注入,最近把 DbTool 迁移到了 WPF dotnetcore 3.1, 在 WPF 中我们也希望能够使用依赖注入,下面来介绍一下如何在 WPF dotnetcore3.1 中使用依赖注入 App.xaml 配置 打开 App.xaml 文件,删除 StartupUri 配置, StartupUri="MainWindow.xaml" 打开 App.xaml.cs 重载 OnStartup 方法,在 OnStartup 中添加自己的初始化代码,在初始化代码中注册自己的服务注册 MainWindow,并在最后从服务中获取 MainWindow 服务,并调用 window 的 Show 方法 public partial class App : Application { protected override void OnStartup(StartupEventArgs e) { Init(); base.OnStartup(e); } private void ConfigureServices(IServiceCollection services) { services.TryAddTransient<MainWindow>(); services

给微软的依赖注入框架写一些扩展方法

泄露秘密 提交于 2020-02-25 19:19:31
给微软的依赖注入框架写一些扩展方法 Intro 现在在项目里大多都是直接使用微软的依赖注入框架,而微软的注入方式比较简单,不如 AutoFac 使用起来灵活,于是想给微软的依赖注入增加一些扩展,使得可以像AutoFac 一样比较灵活的注册服务 Extensions RegisterTypeAsImplementedInterface 将类型注册为其实现的接口,比如 pubic class UserService:IUserService,IUserRepository{} , 注册 UserService 为 IUserService 和 IUserRepository 等效于: services.AddSingleton<IUserService, UserService>(); services.AddSingleton<IUserRepository, UserService>(); 实现代码: /// <summary> /// RegisterTypeAsImplementedInterfaces /// </summary> /// <param name="services">services</param> /// <param name="type">type</param> /// <param name="serviceLifetime">service

Android7.1&8.0 audio设置音量

£可爱£侵袭症+ 提交于 2020-02-21 11:36:03
涉及代码文件: android / frameworks / base / services / core / java / com / android / server / policy / PhoneWindowManager . java android / base / services / core / java / com / android / server / audio / AudioService . java android / base / media / java / android / media / AudioSystem . java android / base / core / jni / android_media_AudioSystem . cpp android / av / services / audiopolicy / service / AudioPolicyInterfaceImpl . cpp android / av / services / audiopolicy / managerdefault / AudioPolicyManager . cpp 下图时序图只跟踪了主流程,在设置声音的过程中还做了其他事项,这里未做体现。代码跟踪到逻辑音量映射到实际mic音量的db值,后续未再跟踪 来源: CSDN 作者: binn

初始Android.bp

▼魔方 西西 提交于 2020-02-19 11:57:12
           初始Android.bp 前言    最近在捣鼓Android 9 和10的build系统,看到一篇比较好的博客,大名鼎鼎的gityuan的,奉上链接 理解Android.bp ,为了方便学习和更多的人看到,特意重新编辑以发扬光大使更多人看到。 一.简介 早期的Android系统都是采用Android.mk的配置来编译源码,从Android 7.0开始引入Android.bp。很明显Android.bp的出现就是为了替换掉Android.mk。 再来说一说Android build系统随着Android版本相应的发展演变过程: Android 7.0引入ninja和kati Android 8.0使用Android.bp来替换Android.mk,引入Soong Android 9.0强制使用Android.bp 并且三者之间不是孤立的,存在转换关系图如下: 通过Kati将Android.mk转换成ninja格式的文件,通过Blueprint+ Soong将Android.bp转换成ninja格式的文件,通过androidmk将将Android.mk转换成Android.bp,但针对没有分支、循环等流程控制的Android.mk才有效。 这里涉及到 Ninja , kati , Soong , bp 概念,接下来分别简单介绍一下。 1.1 Ninja

ASP.NET Core 中的应用程序启动 Startup

走远了吗. 提交于 2020-02-18 10:57:26
ASP.NET Core 应用使用Startup类来作为启动类。   Startup类中包含了ConfigureServices方法,Configure方法,IConfiguration,IHostingEnvironment,IServiceCollection, Startup 筛选器   1. IConfiguration 用于获取配置文件 Configuration.GetConnectionString("MovieContext")   2. IHostingEnvironment 获取项目环境变量 public Startup(IConfiguration configuration, IHostingEnvironment env) { Configuration = configuration; HostingEnvironment = env; } public IHostingEnvironment HostingEnvironment { get; } public IConfiguration Configuration { get; } // This method gets called by the runtime. Use this method to add services to the container. public void