Ninject使用demo
public class HomeController : Controller{public ActionResult Index(){ //核心对象IKernel ninjectKernel = new StandardKernel();ninjectKernel.Bind<IValueCaculator>().To<LinqValueCalcalator>(); //方案1:获取接口实例IValueCaculator calImpl = ninjectKernel.Get<IValueCaculator>();//方案2:自身绑定//ShoppingCart cart = ninjectKernel.Get<ShoppingCart>();//cart1.Products = new List<Product>() { new Product() { Category = "food", Price = 12 }, new Product() { Category = "books", Price = 30 }, new Product() { Category = "wine", Price = 40 } };ShoppingCart cart = new ShoppingCart(calImpl) { Products = new List<Product> { new Product() { Category = "food", Price = 12 }, new Product() { Category = "books", Price = 30 }, new Product() { Category = "wine", Price = 40 } } };var sum=cart.Cal();return View();}public ActionResult About(){return View();}}public class Product{public int ProductId { get; set; }public string Name { get; set; }public string Description { get; set; }public decimal Price { get; set; }public string Category { get; set; }}public interface IValueCaculator{decimal ValueProduct(IEnumerable<Product> products);}public class LinqValueCalcalator : IValueCaculator{public decimal ValueProduct(IEnumerable<Product> products){return products.Sum(a => a.Price);}}public class ShoppingCart{protected IValueCaculator valueCaculator;public ShoppingCart(IValueCaculator caculator){valueCaculator = caculator;}public IEnumerable<Product> Products { get; set; }public decimal Cal(){return valueCaculator.ValueProduct(Products);}}
转载于:https://www.cnblogs.com/Benjamin/p/3284842.html
Ninject使用demo相关推荐
- 在WCF中使用Ninject轻量级IOC框架 之 SOAP风格服务
最近学习MVC 看到很多文章都用了Ninject框架进行解耦,就考虑是否能用在平时写的WCF服务中,因为毕竟目前还是总要写服务的--蛋疼ing-- 传送门: Ninject框架官网: http://w ...
- Nancy之基于Nancy.Hosting.Aspnet的小Demo
Nancy之基于Nancy.Hosting.Aspnet的小Demo 原文:Nancy之基于Nancy.Hosting.Aspnet的小Demo 近来学习了一下Nancy这个框架,感觉挺好用的,就写篇 ...
- jquery autocomplete demo
根据用户输入值进行搜索和过滤,让用户快速找到并从预设值列表中选择. jquery.autocomplete参考地址 http://bassistance.de/jquery-plugins/jquer ...
- BERT-Pytorch demo初探
https://zhuanlan.zhihu.com/p/50773178 概述 本文基于 pytorch-pretrained-BERT(huggingface)版本的复现,探究如下几个问题: py ...
- MinkowskiEngine demo ModelNet40分类
MinkowskiEngine demo ModelNet40分类 本文将看一个简单的演示示例,该示例训练用于分类的3D卷积神经网络.输入是稀疏张量,卷积也定义在稀疏张量上.该网络是以下体系结构的扩展 ...
- Android - 下载别人的android demo 运行的时候加载很久问题处理
一般从git 下载别人的demo 的时候每次都要加载很久,下载gradle 版本之类的, 处理方法把 gradle 下面的 gradle-wrapper 里面的distributionUrl 替换自己 ...
- android studio导入第三方库和demo
导demo,导第三方库,都可以用这个方法,别想太复杂了, file - new - import module
- iOS蓝牙开发---CoreBluetooth[BLE 4.0] 初级篇[内附Demo地址]
一.蓝牙基础知识 (一)常见简称 1.MFI make for ipad ,iphone, itouch 专们为苹果设备制作的设备,开发使用ExternalAccessory 框架(认证流程貌似挺复 ...
- 【应用篇】Activiti外置表单实例demo(四)
在这里我想说的外置表单.是说我们将我们自己的jsp(.form,.html)等页面上传到工作流的数据库中,当任务运行到当前结点时.给我们像前台发送绑定好的表单. 此处是给表单绑定表单的过程 不允许为: ...
最新文章
- BT项目的运作之一项目建设方案与BT总包方的选择
- mysql数据库基本操作命令
- object-c编程tips-timer
- cad线加粗怎么设置_原来CAD的线条还可以这样加粗!还能修改初始单位!太实用了...
- 如何做好仓库管理的工作专业知识
- 棋盘切割 DP POJ 1191
- 计算机教室安全预案 博客,校园安全应急预案
- 计算机语言wifi,Windows7WIFI热点设置器
- HDFS文件系统存储机制
- 剖析SQL Server2005 SQLCLR代码安全性
- 将ONNX对象检测模型转换为iOS Core ML(一)
- 批处理基础知识-EXIT
- 苹果手机里微信数据删除怎么恢复?
- LoRa SX1278通信代码开发学习
- wpf初学者-wpf控件简单介绍
- 吐血推荐 36招搞定电脑一切难题
- 《数值分析》李庆扬 03 曲线拟合的最小二乘法
- 使用python将任意张图片拼接成多张大图
- 康奈尔大学计算机硕士要求,申请康奈尔大学计算机硕士需要什么条件呢
- java入门-java程序