AngularJS(一)理论篇
前言
大概今年春天的时候,自己对这个词产生了兴趣,那会只是简单的查了一下,并没有深入研究过这部分知识块,现在终于开始接触这些东西。
内容
AngularJS在web应用方面是一个非常完美的JavaScript
MVC框架。它减少了对界面的DOM操作,而且在不经过后台数据绑定的程度上,实现了数据绑定,刷新的时候是局部刷新实时性还是可观的。AngularJS是由JavaScript和HTML组成的。
这里来说一下AngularJS的核心框架MVC(Model-view-controller),在开发的时候,这个框架将逻辑单元和概念分离成了几个相互独立的部分,这样职责分明,大概分为三个独立的模块:
模型(Model):是整个应用的驱动力,指的是应用从服务器端获得的数据。
视图(View):是用户可以浏览并与之交互的UI界面,动态的,基于当前的模型。
控制器(controller):代表着业务逻辑及表现层,它掌握一系列操作,比如获取数据,决定如何展现数据模型,以及将哪些数据展现给用户等。
上面的部分,有没有感觉有点类似软件开发过程中的三层开发模型。
独立的模块开发的好处:
1、每个单元只负责做一件事。模型层负责数据操作,视图层展现UI界面,控制层决定业务逻辑,特别符合单一职责原则。
2、单元之间相互独立,依赖性小,模块化、可重用性和可维护性高。
光凭上面的介绍,你是不是就想实践学习这门语言了,下面的好处让你对它更加爱不释手。
- AngularJS优点:
1、是一个单页面(SPA)应用框架。AngularJS避免了以前使用模板化页面让创建和维护应用的复杂性。
2、相同的功能块,AngularJS的代码量要少很多。
3、AngularJS应用中,大部分花费在业务逻辑或者核心功能上,而不是浪费在那些不断重复的陈词滥调上。
4、天生是声明式的。
5、通过CSS和HTML来编辑页面,这一部分和业务逻辑以及功能模块是相互独立的。
6、单元测试比较简单。
- 几大核心原则
1、数据驱动(通过数据绑定实现);
2、声明式的(功能封装性好);
3、概念分离(模块独立,不同部分之间概念分离的比较清楚);
4、依赖注入(需要某个具体控制器或者服务室,并不需要直接在代码中用new操作符或者类似的函数显式的创建其实例);
5、可扩展性(通过创建自定义指令扩展程序)
6、
可测性(控制器、服务、指令到视图和页面迁移都是可测性的);
小结
上面说了一些AngularJS的魅力之处,光说中是很苍白无力,在接下来的章节中,会给大家讲解Angular的基本语法特性和基本实践。
感谢您的宝贵时间···
AngularJS(一)理论篇的更多相关文章
- RabbitMQ学习总结 第一篇:理论篇
目录 RabbitMQ学习总结 第一篇:理论篇 RabbitMQ学习总结 第二篇:快速入门HelloWorld RabbitMQ学习总结 第三篇:工作队列Work Queue RabbitMQ学习总结 ...
- 【PHPsocket编程专题(理论篇)】初步理解TCP/IP、Http、Socket.md
前言 我们平时说的最多的socket是什么呢,实际上socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API).那TCP/IP又是什么呢?TCP/IP是ISO/OS ...
- Lucene核心--构建Lucene搜索(上篇,理论篇)
2.1构建Lucene搜索 2.1.1 Lucene内容模型 一个文档(document)就是Lucene建立索引和搜索的原子单元,它由一个或者多个字段(field)组成,字段才是Lucene的真实内 ...
- 游戏UI框架设计(一) : 架构设计理论篇
游戏UI框架设计(一) ---架构设计理论篇 前几天(2017年2月)看到一篇文章,国内王健林.马云等大咖们看好的未来十大最有"钱途"产业中,排名第一的就是"泛娱乐&qu ...
- HTML5的Websocket(理论篇 I)
HTML5的Websocket(理论篇 I) ** 先请来TA的邻居:** http:无状态.基于tcp请求/响应模式的应用层协议 (A:哎呀,上次你请我吃饭了么? B:我想想, 上次请你吃了么) t ...
- FPGA时序约束——理论篇
在FPGA 设计中,很少进行细致全面的时序约束和分析,Fmax是最常见也往往是一个设计唯一的约束.这一方面是由FPGA的特殊结构决定的,另一方面也是由于缺乏好用的工具造成的.好的时序约束可以指导布局布 ...
- Oracle知识梳理(一)理论篇:基本概念和术语整理
理论篇:基本概念和术语整理 一.关系数据库 关系数据库是目前应用最为广泛的数据库系统,它采用关系数据模型作为数据的组织方式,关系数据模型由关系的数据结构,关系的操作集合和关系的完整 ...
- 一步步教你轻松学支持向量机SVM算法之理论篇1
一步步教你轻松学支持向量机SVM算法之理论篇1 (白宁超 2018年10月22日10:03:35) 摘要:支持向量机即SVM(Support Vector Machine) ,是一种监督学习算法,属于 ...
- Linux中磁盘分区——理论篇
Linux中磁盘分区——理论篇 现在主流的分区的方式有两种——MBR分区和GPT分区,本文将着重介绍MBR分区底层原理,及用相关命令验证相关原理 Linux中磁盘分区理论篇 为什么要对磁盘进行分区 M ...
- 【机器学习】Logistic Regression 的前世今生(理论篇)
Logistic Regression 的前世今生(理论篇) 本博客仅为作者记录笔记之用,不免有非常多细节不正确之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如需转载,请 ...
随机推荐
- Day1--Python基础1--下半部分
一..pyc是什么 1. Python是一门解释型语言? 我初学Python时,听到的关于Python的第一句话就是,Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存在 ...
- js生成邀请码(2)
//生成邀请码方法一 /*function createInviteCode() { var s = [],a=6,b=10; var chars = "123456789QWERTYUIP ...
- JCTF 2014(Reverse)
小菜一碟: 点击下载附件 下载的附件没有后缀,用c32打开看看 是apk文件,用Smali2JavaUI打开 程序把输入框的字符串反转,然后进行MD5加密,最后进行base64编码,与NzU2ZDJm ...
- 2014.10.1 Spy找对话框
IntPtr Diaw =FindWindow("#32770","Adobe Acrobat" );
- Linux 命令及获取帮助 目录文件浏览,管理和维护
开启Linux操作系统,要求以root用户登录GNOME图形界面,语言支持选择为汉语 使用快捷键切换到虚拟终端2,使用普通用户身份登录,查看系统提示符 $ 使用命令退出虚拟终端2上登录的用户 exit ...
- hbase性能调优(转载)
一.服务端调优 1.参数配置 1).hbase.regionserver.handler.count:该设置决定了处理RPC的线程数量,默认值是10,通常可以调大,比如:150,当请求内容很大(上MB ...
- java定时器控制时间打印
public class test2 { public static void main(String []args){ Timer timer=new Timer(); timer.schedule ...
- 每天一道算法题(11)——栈的push、pop 序列
题目:输入两个整数序列.其中一个序列表示栈的push 顺序,判断另一个序列有没有可能是对应的pop 顺序.为了简单起见,我们假设push 序列的任意两个整数都是不相等的. 例如:输入的push 序列是 ...
- maven手动安装oracle驱动到仓库
1. 2.打开http://maven.jahia.org/maven2/一步步打开找到 我需要的版本 https://devtools.jahia.com/nexus/content/groups/ ...
- MD5 加密算法的使用
最近在看视频时,看到 MD5 的加密算法,感觉其在某些重要信息中,还是很好的解决了一些安全问题的.于是,就在自己理解的情况下,实现了 MD5 算法. 具体的流程大致是: (1)将指定的数据首先通过 M ...