问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

AngularJS框架中的领域模型

发布网友 发布时间:2023-07-04 22:06

我来回答

1个回答

热心网友 时间:2024-12-14 04:31

由于最近工作的需要,后端同学需要开发后台系统的web界面,所以调研了一些主流的组件化前端框架,比如reactjs,vuejs,angularjs等。其中angularjs属于具有完整体系的一个web框架,也就是说不需要额外的前端库支持,就可以完成一个前端应用。对于不是很了解前端技术栈的后端同学来说比较适合,同时与AngularJS整合的Typescript,它的语法也和Java比较接近,而且是强类型的语言。

当然这篇文章并不是用来谈论前端框架的技术选型的,而是想从Angular框架的角度来讲讲前端开发领域的模型是什么?

从这个架构图上我们可以看到里面有很多概念:

这里很多概念可能后端开发同学反而更加熟悉,比如服务和依赖注入。当然我们今天主要是关注核心模型,所以我用模型图把概念里面的模型单拎出来:

这里我们忽略了元数据和依赖注入这两个概念,这两个我们可以理解成双向绑定的声明方式(元数据),服务的调用方式(依赖注入)所以不放入核心模型中探讨。

所谓模块其实是语言级的概念,因为javascript并没有语言级的模块支持,然而几乎所有的js框架中都有这个概念,甚至有很多专门用于实现js模块化的框架。
所以一个模块不光可以包含组件(Components)(实现层面就是一个用@NgMole声明的class),服务(Services)(实现层面是一个普通的class),还可以包含值变量、函数、类等等。
当然Angular的模块是要依赖语言的包机制实现的,一个典型的Angular模块:

AngularJS里面没有applicaiton的概念,所以就用一个根模块来表达,如下:

AngularJS里面也没有显示libraries的概念,所以也是用模块来表达的。

一个组件主要是控制着屏幕上的一部分视图,比如整个应用的导航链接。

在编写组件的时候我们需要关注组件生命周期的扩展钩子:

一个组件的视图就是一个模版,它包含一个html的框架用来告诉Angular如何渲染组件。

模版可以包含指令,还可以引用子组件:

指令是用来告诉Angular框架如何渲染(转化成DOM结构)。一个指令就是带有@Directive声明的一个类。一个组件本质上也就是一个关联模版的指令。
除了组件型的指令以外,还有结构型的指令,比如下面的模版就包含两个框架自带的结构型的指令:

其次还有一种属性型的指令,用于扩展html标签的属性功能,比如提供值绑定能力。

当然可能还有其他类型的指令,比如处理布局等等,当然你也可以自定义新的指令。

服务很大程度上就是一个普通的类,但是我们一般会给它分配一个明确的职责,让它提供某一种特定的能力。比如:

日志服务样例:

Angular没有明确服务的约束,但是提供了对服务的依赖注入功能:

框架就会做自动匹配,效果如下图:

我们今天主要从领域模型的角度去了解AngularJS的总体架构,核心模型主要有模块、组件、模版、指令、服务,从中我们可以感觉到从核心模型的角度去理解一个复杂系统的设计是很有帮助的,往往能很快的抓到系统设计的重心。

Angular架构概述
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
老式电脑u盘启动bios老电脑如何设置U盘启动 老式台式机装了U启动后怎么设U盘启动 老电脑u盘启动不了电脑无法从u盘启动 u盘启动老电脑bios设置u盘启动怎么办_老机子bios设置u盘启动 老电脑怎么u盘启动老台式电脑开机怎么启动u盘装系统 为什么俄罗斯要击落mh17? 吃鸡模式《生死狙击》手游小鸡快跑模式详解介绍_吃鸡模式《生死狙击》手... 吃鸡自己和队友都变成小鸡能看到的吗 吃鸡死后变小鸡队友能看见吗 驾照一次性扣6分可以办理校车从业资格证吗? 求XP媒体中心版密钥 空调是否有温度计和起动器 我在铁西住,想要去沈阳城市学院坐什么车 从沈阳去姚千户坐汽车怎么走比较方便 沈阳坐地铁从市图书馆到沈阳城市学院 沈阳沈阳中国女人街小区周边配套怎么样? 雪域藏饰的藏文翻译 ...翻译一下,黄财神,四臂观音,莲花生大师,吧!这些都是藏传佛教的... 有什么样的花边(是关于春节) 关于新年的精美插画-新年海报都有哪些风格? 关于狂飙的顺口溜 国产护肤品原料中是否有日本原料 伊丽莎白身体乳有油了还能用吗 影视大全可以看卿卿日常吗 大内高手小说的txt全集下载地址 求《大内高手》全本txt完结小说,谢谢 勿言推理jute是谁 勿言推理裘德是谁扮演的 在电视剧中,有哪些不可思议的客串曾让你感到非常吃惊? 谁能给我高清下载地址啊?日剧 孤勇者作曲是谁 男朋友问你会不顾一切的选择我吗怎么回答? 男朋友问我会不会吃醋说明什么? 男朋友发信息问我会不会做饭,我怎么回答? 第一次见面,男友回去了,问会想我吗?男友说,会,还得加深了解,是什么意 ... 当男友问我“会不会爱上别人”,他是不是害怕失去我? 我男朋友问我,会陪他多久。我回答的是永久对不对啊 历年亚青赛的冠军得主? 两个多月金毛阴道流黄色的东西怎么回事 雄性金毛犬九年没有交配过,现在还能交配吗? 穿越斗破苍穹之龙帝txt全集下载 抗战之血肉丛林好看吗 好男儿里是不是有个不会说话的? 好男儿2007上海选区王传君的资料.还有2006宋晓波的资料 荷兰猪能吃白萝卜叶吗? 好看的玄幻女主召唤宠物类的小说 女主要腹黑,冷酷的 求小说 要是召唤宠物的 女主强大绝色 男主更强大独爱女主一人 淘宝微淘入口在哪里 哈佛H6后排座椅背后的拉手起什么作用的 2015款h6升级版都市型有没有扶手箱
  • 焦点

最新推荐

猜你喜欢

热门推荐