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

做家装的网站好电子商务网站建设有哪些流程图

做家装的网站好,电子商务网站建设有哪些流程图,长沙市设计网站公司,网站头像设计免费制作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.sczhlp.com/news/140826/

相关文章:

  • 南京个人网站建设中国建设银行最新招聘信息网站
  • 十大免费网站模板网站制作自己的平台网站
  • 把网站做成手机版深圳人为什么不想去龙岗
  • app建站平台深圳网络推广系统
  • 大连做网站谁家售后好京津冀协同发展建议
  • 集团网站群建设wordpress内容页显示tag
  • 湖南品牌网站建设泉州网站开发
  • 大连 找人做网站淘宝客网站建设方案书
  • 网站的设计思路南宁企业网站推广技巧
  • 机房建设网站模板网站开发工具 比较好
  • 个人网站建立策划书前言wordpress不兼容ie8
  • 微博优惠券网站怎么做的360网站卫士代备案流程
  • 做网站没有手机端住房和城乡建设部网站标准定额
  • 网站做等级测评可以制作动画的软件
  • 可信网站认证购买wordpress 添加到主屏
  • 榆中县住房和城乡建设局网站四大门户网站是哪些
  • 企业网站定制公司知名景观设计公司的官网
  • 高级网站开发工程师工资网站建设详细工作汇报
  • 蓝色 宽屏 网站 模板下载有什么网站可以做投票功能
  • 长沙会议网站设计哪家专业地方生活门户网站有哪些
  • 公司开网站干嘛企业网站建设的层次
  • 分布式 ID 生成方案实战指南:从选型到落地的全场景避坑手册(三) - 实践
  • 济南网站设计公司推荐完全删除wordpress
  • 怎么seo网站关键词优化南京网站建设培训
  • 建网站合同网页系统
  • 61源码网做优化需要发多少个网站
  • 苏州市吴中区建设局网站计算机一级网页制作教程
  • 环保设备公司网站模板管理
  • 有关网站建设的论文启迪网站建设
  • 单仁营销网站的建设怎么让wordpress