尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

How-To: Using the N* stack, part 1

How-To: Using the N* stack, part 1
📅 发布时间:2026/7/6 3:41:18
  • NET Framework 3.5 SP1
  • Visual Studio 2008 SP1
  • 最新版本的 NUnit
  • NHibenate 所支持的数据库,例如 Oracle 、SQL Server 、 SQLite,MySQL 数据库。 本示例将使用 SQL Server。

OK,准备好了所有需要的软件,下面介绍一些术语的基本概念:

  • MVC是指Model-View-Controller。这种责任分离的设计可以更灵活地适应和改变你的应用程序。
  • Model(模型) – 这个是指实体类,也就是业务对象。例如在一个账务软件中,Model 就是指发票、发票项目、客户、产品等所有真实世界里的对象。
  • View(视图) – View 就是以一种特定的方式来呈现一个特定的业务对象。例如你可能需要一个编辑客户信息的 View,另一个用来显示发票信息。你也可以认为 View 就是你应用程序中的一个页面。
  • Controller(控制器) – Controller 就是我们获取数据,然后将数据绑定到页面控件的这个业务流程。
  • Inversion of Control(IoC)(控制反转) – 的概念是不需要对象自己去控制关联依赖关系,而是将这些工作交给系统去处理,使用面向接口编程,减少各个层之间的耦合。这种松耦合的设计可是让你轻松的代替服务的实现,而无需关注每个实现它们的类。我知道的两种主要类型的 IoC: 服务定位器( Service Locator )和依赖注入( Dependency Injection )。
  • Service Locator(服务定位器) – 一个服务定位器是一个中央容器,它知道如何控制应用程序中需要的所有服务,对象将从服务定位器中获取每个服务的实现。一个服务定位器通常都是单例的,这就是为什么我不喜欢它。
  • Dependency Injection(DI)(依赖注入)– 是连接服务对象的方法。指程序运行的过程当中,如果需要调用另一个对象的时候,无须在代码中创建被调用的对象,对象本身是由依赖注入框架创建的,在本系列中我们使用 Ninject 。在 Ninject Dojo 里有非常好的依赖注入教程,是开始学习 IoC 非常好的地方。

设置解决方案

该项目的设置是非常简单的,基本上所有操作都是通过Visual Studio完成。请按照下列步骤完成。

  1. 1.创建解决方案和项目

    在 Visual Studio 中, 创建一个新的 ASP.NET MVC Web 应用程序。 我们把它的名字改为 NStackExample 。

    在这里还需要注意几件事。首先,我们需要创建一个解决方案目录。其次,请注意项目的名称后面包含 .Web ,和方案名称不是相同的。

    该Web项目将包含全部 View 层的页面。尽管我们是通过 ASP.NET MVC 模板建立的,但是这里并不会包括 Model 和 Controller。

  2. 2.创建类库目录

    在你的解决方案目录中创建一个项目中所用到的所有第三方类库的目录。例如在这里我们创建一个 Solution items 目录,并将下列15个程序集复制过去。

    • MVCContrib:
      • MVCContrib.dll
      • Microsoft.Web.Mvc.dll
      • System.Web.Abstractions.dll
      • System.Web.Mvc.dll
      • System.Web.Routing.dll
    • NHibernate:
      • Antlr3.Runtime.dll
      • Iesi.Collections.dll
      • log4net.dll
      • NHibernate.dll
      • Castle.Core.dll
      • Castle.DynamicProxy2.dll
      • NHibernate.Bytecode.Castle.dll
    • FluentNHibernate.dll from Fluent NHibernate
    • Ninject:
      • Ninject.Core.Dll
      • Ninject.Framework.Mvc.Dll
  3. 3.创建Core项目

    这个是最主要的项目,它包括解决方案中所需要的所有接口和模型,同时需要注意 Core 项目中不会包含任何实现部分,实现部分应该放在单独的,容易替换的程序集中。

    在解决方案中添加一个新的类库项目,并将名字改为 NStackExample.Core 。

    创建完成之后右键点击该项目并选择属性,选择应用程序(Application)选项卡,在根命名空间中删除 .Core 。

  4. 4.创建 Controller 项目

    接下来创建 MVC 中所需要的 Controller 类库,我们叫它 NStackExample.Controllers 。虽然在微软自带的模板中已经存在了这个文件夹,不过我们不会使用该文件夹,因为我认为我们最好应该将 Controller 从网站中分离出来。

  5. 5.清理项目

    将下列内容删除掉:

    • 在 Core 和 Controllers 项目中删除 Class.vb 或 Class.cs 文件。
    • 在 NStackExample.Web 项目中:
      • Controllers 目录和目录下的所有内容
      • Models 目录
      • Scripts 目录下的 Microsoft AJAX 脚本库
      • Views 目录下的 Home 和 Account 目录
      • Views 目录下的 LogOnUserControl

相关新闻

  • 别让 AI 直接写接口:前后端联调前,先把这 4 份契约交给它
  • 2026年行驶6万公里的新能源汽车,专业底盘整备究竟哪家技术更胜一筹?
  • Optuna 分布式优化实战:4节点并行加速 CatBoost 超参数搜索

最新新闻

  • 2149567-00-8 PSMA binder-2 特性
  • GHelper:为华硕笔记本用户量身打造的轻量级硬件控制解决方案
  • 基于本地AI工具构建高效学习系统:从药学备考到通用学习流程自动化
  • 三星固件下载终极指南:Bifrost如何让官方固件获取变得简单快速
  • 如何利用Arsenal-Image-Mounter实现突破性磁盘镜像挂载:一站式专业指南
  • 2026年6月文章一览

日新闻

  • AI智能体安全防护框架AgentGuard:从原理到实战部署指南
  • KMX63与PIC18F26K40硬件组合及低功耗设计实践
  • 基于YOLO13改进的门体检测模型:C3k2模块与PoolingFormer技术解析

周新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号