当前位置: 首页 > news >正文

网站优化包括安卓内核级优化神器

网站优化包括,安卓内核级优化神器,网站后台信息发布这样做,php 数据库 wordpress本文内容大量参考了#xff1a;https://www.cnblogs.com/Chary/p/11351457.html 而且这篇文章总结的非常好。 1、注意想使用Autofac#xff0c;Autofac是一个轻量级、‌高性能的依赖注入#xff08;‌DI#xff09;‌框架#xff0c;‌主要用于.NET应用程序的组件解耦和…本文内容大量参考了https://www.cnblogs.com/Chary/p/11351457.html  而且这篇文章总结的非常好。 1、注意想使用AutofacAutofac是一个轻量级、‌高性能的依赖注入‌DI‌框架‌主要用于.NET应用程序的组件解耦和管理。‌‌ 核心思想‌‌将对象之间的依赖关系从应用程序中分离出来‌以降低代码的耦合度‌提高可维护性和可测试性。‌ ‌        主要特点‌‌ 轻量级‌核心库只有几个DLL文件‌易于与其他框架集成‌对应用程序性能无影响。‌ 灵活性‌提供多种注册方式‌如XML配置文件、‌代码配置和属性注解等。‌ 高性能‌在实例化对象时‌能比其他DI框架更快地找到并创建所需的依赖项。‌ 生命周期管理‌提供多种生命周期管理选项‌如瞬态、‌作用域和单例等。‌ AOP支持‌可轻松与AOP框架集成‌实现横切关注点的统一处理。 2、废话结束我们直接上代码。我安装的是Autofac 3.0.0 2.1、整个官网示例。 using Autofac; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Autofac.Features.Indexed;namespace ConsoleAppAutofac {class Program{private static IContainer Container { get; set; }static void Main(string[] args){var builder new ContainerBuilder();//准备容器builder.RegisterTypeConsoleOutput().AsIOutput();//注册对象builder.RegisterTypeTodayWriter().AsIDateWriter();//注册对象builder.RegisterInstance(new Dog());//实例注入builder.RegisterInstance(Singleton.Instance).ExternallyOwned();//将单例对象托管到IOC容器builder.Register(c new Person() { Name 张三, Age 22 }); //Lambda表达式注入builder.RegisterGeneric(typeof(List));//注入泛型类builder.RegisterTypeDoge().AsIAnimal();//映射对象,IAnimal被多次注册以最后注册为准builder.RegisterTypeCat().AsIAnimal().PreserveExistingDefaults();//指定Cat为非默认值PreserveExistingDefaults()修饰符可以指定某个注册为非默认值//一个接口被多个实例对象实现可以进行命名注入的时候使用名字进行区分builder.RegisterTypeDoge().NamedIAnimal(doge);builder.RegisterTypeDoge().NamedIAnimal(pig);//Autofac.Features.Indexed.IIndexK,V是Autofac自动实现的一个关联类型。使用IIndexK,V作为参数的构造函数从基于键的服务中选择需要的实现builder.RegisterTypeDoge().KeyedIAnimal(AnumaType.Doge);//映射对象builder.RegisterTypePig().KeyedIAnimal(AnumaType.Pig);//映射对象builder.RegisterTypePig().KeyedIAnimal(AnumaType.Cat);//映射对象//自动装配,从容器中的可用对象中选择一个构造方法来创建对象这个过程叫做自动装配。它是通过反射实现的所以实际上容器创造对象的行为比较适合用在配置环境中//Autofac默认从容器中选择参数最多的构造函数。如果想要选择一个不同的构造函数就需要在注册的时候就指定它//这种写法将指定调用Person(string)构造函数如该构造函数不存在则报错。builder.RegisterTypePerson().UsingConstructor(typeof(string));//额外的构造函数参数//有两种方式可以添加额外的构造函数参数在注册的时候和在检索的时候。在使用自动装配实例的时候这两种都会用到。//注册时添加参数使用WithParameters()方法在每一次创建对象的时候将组件和参数关联起来。ListNamedParameter pars new ListNamedParameter() { new NamedParameter(Age, 20), new NamedParameter(Name, 张三) };builder.RegisterTypePerson().WithParameters(pars);Container builder.Build();//容器创建完毕Liststring list Container.ResolveListstring();var dog Container.ResolveIAnimal();//通过IOC容器创建对象dog.SayHello();var pig Container.ResolveNamedIAnimal(pig);//通过IOC容器创建对象pig.SayHello();var animal Container.ResolveIIndexAnumaType, IAnimal();var cat animal[AnumaType.Cat];cat.SayHello();WriteDate();Console.ReadLine();}public static void WriteDate(){using (var scope Container.BeginLifetimeScope()){var writer scope.ResolveIDateWriter();//通过IOC容器创建对象writer.WriteDate();//调用对象的方法}}}/// summary/// 设置枚举/// /summarypublic enum AnumaType{Doge,Pig,Cat}public interface IOutput{void Write(string content);}public class ConsoleOutput : IOutput{public void Write(string content){Console.WriteLine(content);}}public interface IDateWriter{void WriteDate();}public class TodayWriter : IDateWriter{private IOutput _output;public TodayWriter(IOutput output){this._output output;}public void WriteDate(){this._output.Write(DateTime.Today.ToShortDateString());}}public class Dog{public void Say(){Console.WriteLine(汪汪汪);}}public interface IAnimal{void SayHello();}public class Doge : IAnimal{public void SayHello(){Console.WriteLine(我是小狗汪汪汪~);}}public class Cat : IAnimal{public void SayHello(){Console.WriteLine(我是小猫喵喵喵~);}}public class Pig : IAnimal{public void SayHello(){Console.WriteLine(我是小猪呼呼呼~);}}public class Person{ public Person(){}public Person(string name){Name name;}public Person(string name, int age):this(name){Age age;}public string Name { get; set; }public int Age { get; set; }}public class Singleton{// 私有静态实例‌初始时为nullprivate static Singleton instance null;// 私有构造函数private Singleton() { }// 公共静态方法‌提供全局访问点public static Singleton Instance{get{if (instance null){instance new Singleton();}return instance;}}}}输出结果如下图。
http://www.hkea.cn/news/14420768/

相关文章:

  • 辽宁省建设机械协会官方网站希尔顿酒店网络营销案例
  • 指定图片做logo网站青岛团购网站建设
  • 全栈网站开发流程图荥阳高端网站建设
  • 浙江怎么制作网站网站seo公司哪家好
  • 新开三端互通传奇网站衡阳县建设局网站
  • 长沙网站开发公司承德哪里做网站
  • 淄博个人承接网站制作网址浏览大全
  • 大良网站智能推广机构网页设计师主要工作内容
  • 付网站建设费会计分录富国基金公司网站
  • 路由器 做网站做网站可以找设计公司吗
  • 无锡网站建济南网站推广服务
  • 陕西建设注册中心网站wordpress keyword
  • 品牌网站设计有哪些建议网络团队
  • 网站建设a2345c 网站开发中间层怎么写
  • 怎么做收费网站手机门户WordPress主题
  • 网店的网站设计方案广告主广告商对接平台
  • 外包软件西安seo服务
  • 做网站视频存储驻马店公司做网站
  • 网站服务器架设中美俄最新军事新闻
  • 中国建设银行注册网站体外产品的研发网站如何建设
  • 网站建设dede什么网站需要经营性备案
  • 企业建立网站的原因合肥网络推广公司乐蜂
  • 网站建设做网站好吗三明住房建设局网站
  • 简洁手机导航网站模板下载安装重大违法建设项目举报网站
  • 国产成年做视频网站wordpress文章怎么写
  • 网站建设优化服务信息招商外包公司
  • server2003网站建设福建高速公路建设指挥部网站
  • 网站做多个页面简述企业网站建设的目的
  • dede旅游网站源码中国建设工程信息网站
  • 做网站如何通过流量赚钱吗photoshop手机版