前言

大概今年春天的时候,自己对这个词产生了兴趣,那会只是简单的查了一下,并没有深入研究过这部分知识块,现在终于开始接触这些东西。

内容

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(一)理论篇的更多相关文章

  1. RabbitMQ学习总结 第一篇:理论篇

    目录 RabbitMQ学习总结 第一篇:理论篇 RabbitMQ学习总结 第二篇:快速入门HelloWorld RabbitMQ学习总结 第三篇:工作队列Work Queue RabbitMQ学习总结 ...

  2. 【PHPsocket编程专题(理论篇)】初步理解TCP/IP、Http、Socket.md

    前言 我们平时说的最多的socket是什么呢,实际上socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API).那TCP/IP又是什么呢?TCP/IP是ISO/OS ...

  3. Lucene核心--构建Lucene搜索(上篇,理论篇)

    2.1构建Lucene搜索 2.1.1 Lucene内容模型 一个文档(document)就是Lucene建立索引和搜索的原子单元,它由一个或者多个字段(field)组成,字段才是Lucene的真实内 ...

  4. 游戏UI框架设计(一) : 架构设计理论篇

    游戏UI框架设计(一) ---架构设计理论篇 前几天(2017年2月)看到一篇文章,国内王健林.马云等大咖们看好的未来十大最有"钱途"产业中,排名第一的就是"泛娱乐&qu ...

  5. HTML5的Websocket(理论篇 I)

    HTML5的Websocket(理论篇 I) ** 先请来TA的邻居:** http:无状态.基于tcp请求/响应模式的应用层协议 (A:哎呀,上次你请我吃饭了么? B:我想想, 上次请你吃了么) t ...

  6. FPGA时序约束——理论篇

    在FPGA 设计中,很少进行细致全面的时序约束和分析,Fmax是最常见也往往是一个设计唯一的约束.这一方面是由FPGA的特殊结构决定的,另一方面也是由于缺乏好用的工具造成的.好的时序约束可以指导布局布 ...

  7. Oracle知识梳理(一)理论篇:基本概念和术语整理

    理论篇:基本概念和术语整理 一.关系数据库           关系数据库是目前应用最为广泛的数据库系统,它采用关系数据模型作为数据的组织方式,关系数据模型由关系的数据结构,关系的操作集合和关系的完整 ...

  8. 一步步教你轻松学支持向量机SVM算法之理论篇1

    一步步教你轻松学支持向量机SVM算法之理论篇1 (白宁超 2018年10月22日10:03:35) 摘要:支持向量机即SVM(Support Vector Machine) ,是一种监督学习算法,属于 ...

  9. Linux中磁盘分区——理论篇

    Linux中磁盘分区——理论篇 现在主流的分区的方式有两种——MBR分区和GPT分区,本文将着重介绍MBR分区底层原理,及用相关命令验证相关原理 Linux中磁盘分区理论篇 为什么要对磁盘进行分区 M ...

  10. 【机器学习】Logistic Regression 的前世今生(理论篇)

    Logistic Regression 的前世今生(理论篇) 本博客仅为作者记录笔记之用,不免有非常多细节不正确之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如需转载,请 ...

随机推荐

  1. 机器学习:逻辑回归(OvR 与 OvO)

    一.基础理解 问题:逻辑回归算法是用回归的方式解决分类的问题,而且只可以解决二分类问题: 方案:可以通过改造,使得逻辑回归算法可以解决多分类问题: 改造方法: OvR(One vs Rest),一对剩 ...

  2. Django基础(四)

    Form表单 Admin     Django Form表单 django 中的form 一般有两种功能: 输入html 验证用户输入 1,先写一个form import re from django ...

  3. Bresenham快速画直线算法

    现在的计算机的图像的都是用像素表示的,无论是点.直线.圆或其他图形最终都会以点的形式显示.人们看到屏幕的直线只不过是模拟出来的,人眼不能分辨出来而已.那么计算机是如何画直线的呢,其实有比较多的算法,这 ...

  4. nginx for windows之负载均衡

    1.编辑c:\nginx\conf\nginx.conf   添加以下内容: #user  nobody;   #启动进程worker_processes  1;   #全局错误日志及PID文件err ...

  5. 问题:table 可否实现对角线;结果:HTML 斜线 表头

    <HTML> <HEAD> <TITLE>斜线表头</TITLE>    </HEAD> <script    Language=&q ...

  6. Microsoft Office Visio 2010如何创建UML 用例图

    转自:https://blog.csdn.net/mmoooodd/article/details/10513059 1..在Microsoft Office2010中打开Microsoft Visi ...

  7. oracle -sqlplus 调用存储过程

    sp.batsqlplus user/passwd/sid  @.\sp.sql >sp.sqlexit; sp.sqlexex xxxx()quit;

  8. android 获取sharedpreference的三种方法的区别

    1. public SharedPreferences getPreferences (int mode) 通过Activity对象获取,获取的是本Activity私有的Preference,保存在系 ...

  9. Windows版本Apache+php的Xhprof应用

    [知识] {Apache} Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一. {PHP} ...

  10. idea 修改Recent projects

    idea用了一段时间了,打开的项目多了,导致Open Recent列表中的项目也非常多,在找一个项目时很不方便. 后来查询,在~/Library/Preferences/IntelliJIdea目录/ ...