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

做网站推广的方法购买已备案域名

做网站推广的方法,购买已备案域名,wordpress多媒体插件,企业php 网站系统IOC理解 IoC(Inversion of Control):即控制反转,这是一种设计思想,指将对象的控制权交给IOC容器,由容器来实现对象的创建、管理,程序员只需要从容器获取想要的对象就可以了。DI(Dependency Injection),即依…

IOC理解

IoC(Inversion of Control):即控制反转,这是一种设计思想,指将对象的控制权交给IOC容器,由容器来实现对象的创建、管理,程序员只需要从容器获取想要的对象就可以了。DI(Dependency Injection),即依赖注入,他是IoC的一种具体实现方式。

IOC代码实现

Model类
namespace IOCDemo.IOC
{[IOCService]internal class School{public string SchoolName { get; set; }public Student Student { get; set; }public void ShowMessage(){Console.WriteLine("创建School对象");Student.ShowMessage();}}internal class Student{public string StudentNo { get; set; }public string StudentName { get; set;}public void ShowMessage(){Console.WriteLine("创建Student对象");}}
}
IOC容器工程类

.Net8 IOC容器基本形态:
1、创建对象
2、存储对象 字典随机取对象,随机存对象性能高
3、获取对象
4、依赖注入(对象属性赋值)
5、对象过滤(特征)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;namespace IOCDemo.IOC
{/// <summary>/// IOC工程/// 1、创建对象/// 2、存储对象 字典随机取对象,随机存对象性能高/// 3、获取对象/// 4、依赖注入(对象属性赋值)/// 5、对象过滤(特征)/// 总结:完成.Net8 IOC容器基本形态/// </summary>internal class IOCFactory{private Dictionary<string,Object> IOCS = new Dictionary<string,Object>();public IOCFactory() {//不能直接new对象,违背开闭原则(对扩展开发,对修改关闭,如果有新的类,需要修改IOC工厂类)Assembly assembly = Assembly.Load("IOCDemo");Type[] types = assembly.GetTypes();foreach (Type t in types){IOCService service=t.GetCustomAttribute<IOCService>();//5、过滤if (service != null){//1、创建对象object obj = Activator.CreateInstance(t);//同样违背开闭原则//PropertyInfo propertyInfo = t.GetProperty("SchoolName");//if (propertyInfo != null)//{//    propertyInfo.SetValue(obj, new Student());//}//4、依赖注入PropertyInfo[] properties = t.GetProperties();foreach (var property in properties){foreach (var type in types){if (property.PropertyType.Equals(type)){object value = Activator.CreateInstance(type);property.SetValue(obj, value);}}}//2、存储对象IOCS.Add(t.FullName, obj);}}}/// <summary>/// 3、获取IOC对象/// </summary>/// <param name="name"></param>/// <returns></returns>public object GetObject(string name){return IOCS[name];}}
}
自定义特性类
namespace IOCDemo.IOC
{/// <summary>/// 自定义特性/// </summary>[AttributeUsage(AttributeTargets.Class)]internal class IOCService:Attribute{}
}
实现
using IOCDemo.IOC;IOCFactory iOCFactory = new IOCFactory();
School school = (School)iOCFactory.GetObject("IOCDemo.IOC.School");
school.ShowMessage();
输出

实例代码

https://download.csdn.net/download/lvxingzhe3/89967307

http://www.yayakq.cn/news/103115/

相关文章:

  • 怎么提升网站收录网页设计旅游网站
  • 静态网站建设论文wordpress 后台地址修改
  • 网站显示域名黑群晖的做网站文件
  • 网站开发私单哪里接wordpress短代码下载按钮
  • 阜新市网站建设凡客诚品官网衬衫
  • 装修网站排名公司网页制作报价
  • 1688网站怎么样南京科技网站设计多少钱
  • 呼伦贝尔建设网站2021东莞封城最新消息
  • 北京公司网站制作标点狗logo设计官网
  • 佛山网站企业有什么网站可以赚钱
  • 淘宝客网站建设公司域名注册网站排名
  • 付网站建设服务费记账龙岗区建设工程交易服务中心
  • 网站开发 英文文章wordpress 4.9.2 中文
  • 网站推广策略什么时候做网站需要的资质
  • 在线做动漫图片视频在线观看网站软件推广怎么做
  • 做一家直播卖货的网站网站短信接口怎么做
  • 减肥瘦身网站模板源码wordpress php 开发
  • 北京高端网站设计怎样做网站建设
  • 虚拟主机网站淘客网站建设网络营销推广方法和手段
  • 卡一卡二三免视频网站运营优化建议
  • 网站设计名称部门定制网站建设公司
  • 中国最好的域名注册网站五站合一网站建设
  • qq中心官方网站怎么把在EXCEL做的查询系统做到网站上
  • 如何dns解析网站专门做封面的网站
  • 国外网站入口重写Wordpress的js
  • wordpress 网站图标设置wordpress需要登录
  • 怎样防止网站被黑域名怎么和网站绑定
  • 做全屏网站设计时容易犯的错申请网站空间怎么做
  • 佛山做外贸网站案例做百度推广是网站好还是阿里好
  • 泉州网站建设推广企业wordpress 留言板插件