阅读更多

1顶
0踩

互联网

翻译新闻 美国大神支招Web模块化管理

2015-08-11 10:38 by 见习记者 Virtoway 评论(1) 有7797人浏览
  都说Web模块化管理有些繁杂,最近拜读美国大神级构架设计师大作,得出通过ASP.NET MVC和AngularJS 轻松搞定Web模块化管理的新定理,在美国文章日点击量过万,新方法,总是让人小鹿乱撞哈!认识下文章吧!
快速浏览标题便了解到本文要谈到公开资源平台,该平台允许快速,轻松地创建一个管理网络,并不需要在风格,导航,解决方案架构和其它跟主要任务无关的琐事上花费过多的时间。
平台视觉图和其中一块模板:


很长一段时间里,我们使用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






  • 大小: 80.4 KB
  • 大小: 214.8 KB
  • 大小: 69.9 KB
  • 大小: 117.6 KB
  • 大小: 128.1 KB
1
0
评论 共 1 条 请登录后发表评论
1 楼 Virtoway 2015-08-13 10:37

这个文章是关于使用Angular JS和ASP.NET MVC在Microsoft平台上进行编程,达到高效web管理的目的。
ASP官方发言此平台免费使用的
免费下载地址
:http://www.asp.net/
请表叫我雷锋!

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 有哪些值得推荐的数据可视化工具?

    作者:文兄 ...来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请...地图数据可视化工具(7个)7.金融(股票)数据可视化工具(2个)8.时间轴数据可视化工具(2个)9.函数与公式数据可视化工具(2个

  • 送你一个目录,一站式学习生信!众多干货,有趣有料!

    Cancer Cell,Immunity等高水平文章 Web of stories - 听大师讲故事 这个只需一步就可做富集分析的网站还未发表就被CNS等引用超过350次 什么,你算出的P-value看上去像齐天大圣变的庙? 从一段挖矿病毒代码看Linux...

  • 生信宝典教程大放送,一站式学习生信技术

    生物信息学包含生物数据分析、数据可视化、重复工作程序化,是生物、医学科研必备的技能之一。生信宝典精心组织生信学习系列教程、生信工具精品教程,通过大量的生信例子、关键的注释、浓缩的语句和录...

  • 送书 | 知乎阅读300w+的生信学习指南(更新版)

    另一方面,则是去学习别人的代码、学习初学时跳过的内容,利用社区中提供的优秀的模块或包来简化、加速自己的操作。入了门,就不需要像刚开始时,什么操作都自己去写了,俗语叫“自己造轮子”(但自己造轮子是最好的...

  • 如何搭建一个完整的视频直播系统?

    以上是媒体模块,还有信令控制,登录、鉴权、权限管理、状态管理等等,各种应用服务,消息推送,聊天,礼物系统,支付系统,运营支持系统,统计系统等。 后台还有数据库,缓存,分布式文件存储,消息队列,运维...

  • iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角)

    一个NSString的格式化工具      TMCache 一个内存Cache      EGOCache EGOImage里面的 Cache功能      HJCache 一个缓存网络内容等的Cache   ...

  • 生信宝典:生物信息学习系列教程、视频、资源

    推荐 3 个超赞的 EXCEL 插件,让你 5 分钟从小白变大神 史上最全的图表色彩运用原理 生信宝典一周年福利第一波 - 电子书赠送 测序发展史:150年的风雨历程 生信老司机以中心法则为主线讲解组学技术的应用和...

  • plc原理及应用_一年只一次,百篇电工+PLC技术资料大合集,不看真的亏!

    视频讲解直流电机的工作原理及安装,清晰易懂 电机的这些启动方式,每个电工都该心里有数~ 自动化工厂实拍,电机是如何制造的 电机启动电容的原理和结构,很多电工见过却不懂 初学电工必看|接触器控制电机正反转接...

  • 鸡国大冒险运行程序,点开即用

  • 基于Python+Flask的安全多方计算的隐私保护系统设计与实现+全部资料齐全+部署文档.zip

    【资源说明】 基于Python+Flask的安全多方计算的隐私保护系统设计与实现+全部资料齐全+部署文档.zip基于Python+Flask的安全多方计算的隐私保护系统设计与实现+全部资料齐全+部署文档.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

  • 聊天系统(java+applet).zip

    聊天系统(java+applet)

  • setuptools-11.0-py2.py3-none-any.whl

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

  • 基于UCI Heart Disease数据集的心脏病分析python源码+数据集+演示ppt+详细资料.zip

    基于UCI Heart Disease数据集的心脏病分析python源码+数据集+演示ppt+详细资料.zip基于UCI Heart Disease数据集的心脏病分析python源码+数据集+演示ppt+详细资料.zip基于UCI Heart Disease数据集的心脏病分析python源码+数据集+演示ppt+详细资料.zip基于UCI Heart Disease数据集的心脏病分析python源码+数据集+演示ppt+详细资料.zip基于UCI Heart Disease数据集的心脏病分析python源码+数据集+演示ppt+详细资料.zip基于UCI Heart Disease数据集的心脏病分析python源码+数据集+演示ppt+详细资料.zip基于UCI Heart Disease数据集的心脏病分析python源码+数据集+演示ppt+详细资料.zip基于UCI Heart Disease数据集的心脏病分析python源码+数据集+演示ppt+详细资料.zip

  • setuptools-1.3.1-py2.py3-none-any.whl

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

  • setuptools-40.3.0-py2.py3-none-any.whl

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

  • 公开整理-各省碳排放数据集(1990-2022年).xlsx

    详细介绍及样例数据:https://blog.csdn.net/li514006030/article/details/138872006

  • 基于Java的两个通用安全模块的设计与实现.zip

    基于Java的两个通用安全模块的设计与实现

  • setuptools-14.1.1-py2.py3-none-any.whl

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

  • 华为-智慧园区数字平台技术qytp.pptx

    华为-智慧园区数字平台技术qytp.pptx

  • 30个Python游戏源码

    30个Python游戏源码

Global site tag (gtag.js) - Google Analytics