`
Virtoway
  • 浏览: 3443 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

AngularJS ,ASP.NET MVC – 新Web模块化开发

阅读更多
    子云:“独乐乐不如众乐乐”,近日拜读美国著名构架设计师Alexander Siniouguine 的新作≤ Modular WEB Admin Using ASP.NET MVC and AngularJS≥,文章中讲到Alexander和他的团队一路努力探索最后得出了通过ASP.NET MVC和AngularJS进行Web模块化管理的新模式,希望作者的新发现对大家在学习    AngularJS 和Web模块化开发上有一定帮助。让我们一起来看看译文吧!

    快速浏览标题便了解到本文要谈到公开资源平台,该平台允许快速,轻松地创建一个管理网络,并不需要在风格,导航,解决方案架构和其它跟主要任务无关的琐事上花费过多的时间。
平台视觉图和其中一块模板:


很长一段时间里,我们使用WPF技术进行模块化管理应用。后来我们决定将WPF技术迁移到网站中并最终得出了2个不同的产品:第一个:平台,就是这篇文章致力于介绍的 ,第二个是用于电子商务应用程序开发使用的集合模块。
此技术多运用于


我们决定使用这些技术都是我们广泛应用微软产品的经验结果。
我们使用以下的技术:
• ASP.NET MVC 5.0 -作为一个网络托管技术
• ASP.NET Web API 2.0-去实施REST服务
• Entity Framework 6.0 – ORM 
• EF Migrations -以便管理数据库模式的更改和数据
• ASP.NET Identity -授权和认证任务
AngularJS –主要针对SPA 的用户界面。挑选它的主要依据之一是因为它的普及性和文件质量。我们之前虽然没有过应用AngularJS方面的工作经验。但一路回首,我们从未对这个选择有过任何遗憾。
Architecture 
平台和模块都采用DDD,SOLID,Test Driven Development(TDD)。从表面看,我们在使用MVVM(非常感谢AngularJS-从WPF的过渡到现在都没有出现过任何并发症)


Platform Capabilities
现在让我们看一下平台兼容性的核心列表。理解这个列表包含平台兼容性是很重要的,因为它不仅仅是电子商务应用的一个附加功能。
风格指南

我们使用MCSS系统方法的应用创造了我们自己的主题。我们还创建了一个风格元素指南和用于元素导航的视觉构造,允许您轻松地创建一段HTML源码,以此用来扩展模块。
Navigation


在这里,我们针对用户界面提出了一个统一的导航用户界面概念。我们非常喜欢应用于新portal.azure.com中水平滚动页面导航的想法,于是我们决定把它作为一个基点。
主要的导航元素是:
• “blade”-传统界面的模拟窗口
• “widget容器包含widget
• “main menu” -针对所有模块的全局导航菜单
Modularity


平台在运行安装扩展模块时允许系统功能扩展。鉴于每个模块都可以提供自己的用户界面和REST API服务,所以该平台可以被定制用于服务许多特殊的商业需求。
模块化是我们遇到的最困难的问题之一。为了解决这个问题,我们不得不从WPF中采用微软PRISM,并且使它在ASP.NET MVC中可以正常运行。模块包含了使用版本和依附关系的信息,这些信息常在系统在模块初始化和安装过程中有被使用 。
除了扩张用户 界面和API ,每个模板可以用自己的数据库模式并且支持在版本更新过程中的数据迁移。它们也可以通过loC和依赖注入来扩展或覆盖其他模块的功能。
我们就不一一列出所有用户界面的扩展点啦,这只是其中的一小部分:主菜单,工具栏,窗口,通知等。

其它有用的信息
• 授权和认证联合认证兼容-使用微软ASP.NET Identity。
• Managing users and permissions -我们自己的执行并且准备使用UI。
• Working with binary data (files) -扩展系统提供API上传文件到本地磁盘存储,网络存储或 azureblob存储。可以扩展用来使用任何类型的存储服务。
• 背景工作调度-使用延时库来实现,是一个很灵活的功能体系,为监测工作提供自己的接口。
• 动态设置系统-允许声明性设置,并提供标准管理界面和API代码使用。
• 动态特性系统-允许使用UI 或代码来动态扩展任何用户对象的新属性。
• 贮藏-使用缓存服务来优化和提升缓存能力   (AppFabric, WEB Cache, memcache等.)
• 基于模板的通知系统-定义通知类型,编辑模板,支持本地化,规划,日志。支持包括电子邮件、短信等多种不同的通知渠道。
• 统一的输出/输入系统模块-统一的用户界面和数据格式的实际执行模块。
它不仅仅是一颗银色的“子弹”,而且还…
因此,我们最终拥有了一个相当好的系统,它允许有经验的开发人员针对复杂的项目快速创建一个管理网站, 或者使用它作为一个指南来创建独一无二的系统。

• 更多关于平台的信息可以点击 :http://docs.virtocommerce.com/display/vc2devguide/Working+with+Platform. 
• 您可以看到,使用该平台创造一个电子商务产品的真实例子:Virto Commerce online demo (frontend and admin).
• 项目本身就坐落在此: https://github.com/VirtoCommerce/vc-community. 项目正在积极发展中,所以所有的意见,反馈和要求将得到高度赞赏。
许可证
在该文中提及的相关源代码和文件,都是由CPOL授权许可的

关于作者:
Alexander Siniouguine

职业:软件构架师
国籍:美国
高级软件构架师。作者已经自主设计了几款网络产品,这些产品被世界上著名的网络公司所运用
阅读我最近的文章:

Checkout my latest article: http://www.codeproject.com/Articles/1013731/Modular-WEB-Admin-Using-ASP-NET-MVC-and-AngularJS
http://virtocommerce.com/

原文摘自:http://www.codeproject.com/Articles/1013731/Modular-WEB-Admin-Using-ASP-NET-MVC-and-AngularJS
[/size]



[/size]
  • 大小: 80.4 KB
  • 大小: 214.8 KB
  • 大小: 69.9 KB
  • 大小: 117.6 KB
  • 大小: 128.1 KB
分享到:
评论

相关推荐

    使用AngularJs ASP.NET MVC Web API EF构建一个多层SPA的例子

    在本文中,我们将深入探讨如何使用AngularJS、ASP.NET MVC、Web API和Entity Framework(EF)构建一个完整的多层Single Page Application(SPA)。这个技术栈是现代Web开发中常用的一组工具,它们协同工作,可以提供...

    AngularJS开发ASP.NET MVC

    ### AngularJS 开发 ASP.NET MVC #### 知识点概览 - **AngularJS与ASP.NET MVC结合的优势** - **AngularJS的特点与优势** - **AngularJS的基本概念(如数据绑定、指令等)** - **如何在ASP.NET MVC项目中引入...

    angularjs asp.net mvc 書籍

    在IT行业中,AngularJS和ASP.NET MVC是两个非常重要的框架,它们在构建高效、动态的Web应用程序方面发挥着关键作用。下面将详细讲解这两个技术及其整合应用。 AngularJS,由Google开发,是一款强大的前端JavaScript...

    ASP.NET MVC 5高级编程 第5版

    此外,ASP.NET MVC 5支持单页应用(SPA)开发,结合AngularJS或 Knockout.js等前端框架,可以构建高性能的动态Web应用。书中会介绍如何将这些前端技术与ASP.NET MVC 5结合,实现前后端的无缝协作。 最后,本书还...

    ASP.NET MVC 5

    ASP.NET MVC 5 是一个强大且灵活的框架,适合开发各种规模的 Web 应用。从基础概念到高级主题,本书全面覆盖了 ASP.NET MVC 5 的各个方面,旨在帮助开发者掌握该框架的核心技术和最佳实践。无论是新手还是有经验的...

    CRUD-MVC4-AngularJS:ASP.NET MVC 4和AngularJS中的CRUD操作

    CRUD(创建、读取、更新、删除)是任何数据管理系统的四大基本操作,而ASP.NET MVC 4和AngularJS都是构建Web应用的强大框架。在这个项目"CRUD-MVC4-AngularJS"中,我们将深入探讨如何在ASP.NET MVC 4后端与AngularJS...

    angularjs-mvc:使用 .NET MVC、WebAPI 和 AngularJS 的演示项目

    在.NET环境中,.NET MVC 提供了一个框架,用于创建可测试、模块化的Web应用。Controller处理用户请求,Model存储数据,View负责渲染视图。 2. **WebAPI**:ASP.NET Web API 是 .NET Framework 的一部分,用于构建...

    CT464:使用ASP.NET MVC和AngularJS进行Web应用程序开发

    4. **性能优化**:AngularJS的懒加载和模块化特性,结合ASP.NET MVC的缓存和压缩机制,可以有效提升网页加载速度。 **核心技术点** 1. **路由**:ASP.NET MVC的路由系统允许自定义URL模式,提供友好的URL结构;...

    angularjs 和 MVC的结合

    在IT领域,AngularJS和MVC(Model-View-Controller)是两种常见的Web开发技术,它们各有特色且常被结合使用以构建高效、结构化的应用。AngularJS是Google推出的一款强大的前端JavaScript框架,主要用于构建单页应用...

    Asp.mvc ~ 使用AngularJs构建SPA

    在文章中,作者可能涵盖了从设置开发环境到整合AngularJS与ASP.NET MVC,再到实现动态数据交互和路由配置等多个方面。通过这个教程,开发者可以学习如何将这两个强大的技术结合,以创建高性能、用户友好的Web应用。 ...

    AngularJS-SPA-Template-master.zip_Angularjs-master_angularjs_asp

    AngularJS是Google维护的一个JavaScript框架,主要用于构建前端动态网页应用,而ASP.NET MVC则是微软提供的一个后端开发框架,用于构建可伸缩的、高性能的Web应用程序。 **AngularJS** AngularJS是MVC(模型-视图-...

    具有angularJS的ASP.NET MVC中单个和列表对象的存储过程

    在本文中,我们将深入探讨如何在使用AngularJS的ASP.NET MVC框架中,通过存储过程来处理单个对象和列表对象的CRUD(创建、读取、更新和删除)操作。结合SQL事务,我们可以确保数据的一致性和完整性。以下是关键知识...

    Angle-3.4-mvc6-angular

    **ASP.NET MVC6** 是微软推出的Web应用程序框架,用于构建高性能、可测试和模块化的Web应用。MVC(Model-View-Controller)设计模式在这里被用来分离业务逻辑、视图呈现和用户输入处理。ASP.NET MVC6是.NET框架的一...

    MyCollege:ASP Net MVC 5 + AngularJS

    这个项目是关于使用ASP .NET MVC 5框架和AngularJS前端框架构建一个名为"MyCollege"的Web应用程序。ASP .NET MVC 5是一个用于构建动态网站的强大工具,它基于模型-视图-控制器(MVC)设计模式,为开发人员提供了高度...

    Asp.netMVC会员管理系统

    Asp.NET MVC是一个轻量级、高度模块化的web应用程序开发框架,它将模型(Model)、视图(View)和控制器(Controller)的概念引入到web开发中,以实现更好的代码组织和业务逻辑分离。 在该会员管理系统中,核心功能...

    带有经典ASP.NET MVC应用程序的Angularjs路由配方

    总的来说,这个话题涵盖了前端开发和后端开发的融合,讲解了如何在经典ASP.NET MVC环境中利用AngularJS路由提升Web应用的交互性和动态性。通过深入学习和实践,开发者可以更好地构建高效、响应式的现代Web应用。

    angular-forms-bootstrap-mvc5:教程-一种使用angularjs,引导程序和ASP.NET MVC5设计的表单

    在本教程中,我们将深入探讨如何利用AngularJS、Bootstrap和ASP.NET MVC5技术来构建功能丰富的Web表单。AngularJS是一种强大的JavaScript框架,用于构建单页应用程序(SPA),它提供了数据绑定、依赖注入和模块化等...

    ASP.NET Web API and Angular 2 pdf 0分

    这两个技术在现代Web开发中扮演了重要的角色,分别负责后端服务和前端交互。接下来我将详细介绍这些知识点。 *** Web API是一个用于构建RESTful Web服务的框架。它允许开发者通过HTTP协议提供数据服务,并且广泛...

    使用WEB API和AngularJS的ASP.NET Core 1.0 MVC 6

    ASP.NET Core 1.0 MVC 6 是微软推出的一个现代化的Web开发框架,结合了ASP.NET MVC和Web API的功能,支持跨平台运行,并且引入了许多改进和新特性。在这个项目中,我们将探讨如何使用WEB API和AngularJS来构建一个...

Global site tag (gtag.js) - Google Analytics