【快速下载】:如何重构controller(演示文稿及示例代码).rar

本篇是培训交流会的摘要总结,培训PPT和示例代码见附件。

一. 结构拆分

  1. 小型项目

    通过子路由实现拆分分层,父级控制器控制共享模块,提供公共能力,子级分管自己的模块,父子级之间通过消息机制进行通讯。

  2. 中型项目

    通过组合视图实现模块划分,组合视图共享同一个路由地址,分管不同的模块,组合视图之间需要通过父级控制器(或组合视图的根控制器)来实现通讯。

  3. 大型项目

    通过视图组件指令业务模块指令来进行更细粒度的模块拆分,模块通信依然建议通过消息机制来进行。

二.基本代码优化

  1. 业务逻辑代码

    封装Service,通过依赖注入在Controller中或指令中使用。

  2. 数据加工代码

    建议使用表达性更强的通用工具库underscore.jslodash.js提升效率,精简代码。

  3. DOM操作

    建议学习和习惯Angular数据驱动的主导思想,通过数据来启用或消除DOM操作,具体的执行需要通过自定义指令进行实现。

如何重构controller(演示文稿及示例代码).rar

来源:华为云社区  作者:大史不说话

angularjs1.X进阶笔记(3)——如何重构controller相关推荐

  1. Angularjs进阶笔记(2)—自定义指令中的数据绑定

    [摘要]有关自定义指令的scope参数,网上很多文章都在讲这3种绑定方式实现的效果是什么,但几乎没有人讲到底怎么使用,本篇希望聊聊到底怎么用这个话题. 一. 自定义指令 自定义指令,是Angularj ...

  2. Docker基础、进阶笔记,为k8s的学习预预热

    标题 Docker基础.进阶笔记,为k8s的学习预预热 笔记来源于视频: 狂神docker基础篇 狂神docker进阶篇 笔记中图片有些取自于:这位博主的两篇docker笔记中的一些图片 百度云笔记工 ...

  3. Android进阶笔记:Messenger源码详解

    Messenger可以理解为一个是用于发送消息的一个类用法也很多,这里主要分析一下再跨进程的情况下Messenger的实现流程与源码分析.相信结合前面两篇关于aidl解析文章能够更好的对aidl有一个 ...

  4. Android进阶笔记:AIDL内部实现详解 (二)

    接着上一篇分析的aidl的流程解析.知道了aidl主要就是利用Ibinder来实现跨进程通信的.既然是通过对Binder各种方法的封装,那也可以不使用aidl自己通过Binder来实现跨进程通讯.那么 ...

  5. Shell 编程进阶笔记

    这几篇博文主要记录博主的Linux 学习之路,用作以后回顾和参考.大家可以选择略过也可以作参考. (一)Linux 初步笔记 (二)Linux 进阶笔记(一) (三)Linux 进阶笔记(二) (四) ...

  6. Linux 进阶笔记(二)

    这几篇博文主要记录博主的Linux 学习之路,用作以后回顾和参考.大家可以选择略过也可以作参考. (一)Linux 初步笔记 (二)Linux 进阶笔记(一) (三)Linux 进阶笔记(二) (四) ...

  7. Linux 进阶笔记(一)

    这几篇博文主要记录博主的Linux 学习之路,用作以后回顾和参考.大家可以选择略过也可以作参考. (一)Linux 初步笔记 (二)Linux 进阶笔记(一) (三)Linux 进阶笔记(二) (四) ...

  8. ggplot2箱式图两两比较_R语言进阶笔记2 | 长数据与ggplot2

    1. 长数据是什么鬼? 之前介绍了如何将多个性状的箱线图放在一个图上,比如learnasreml包中的fm数据,它有h1~h5五年的株高数据,想对它进行作图. 「数据预览:」 > library ...

  9. redis 了 什么地方用到_细节拉满!美团首推“百万级”Redis进阶笔记究竟有什么魅力...

    Redis 相信大家现在项目里面都会用到一个技术--Redis.毫不夸张的说Redis作为现在最受欢迎的NoSQL数据库之一,不管是项目还是面试都会有所涉及!我们都知道在项目中使用redis,无非是从 ...

最新文章

  1. 60亿击败1750亿、验证胜过微调:OpenAI发现GPT-3解决数学题,并非参数越大越好...
  2. 团体程序设计天梯赛-练习集-L1-039. 古风排版
  3. svg path属性
  4. JVM 垃圾回收算法 -可达性分析算法!!!高频面试!!!
  5. android底层oem,Android中如何实现OEM
  6. 在阿里云ECS上安装Docker、Tomcat并部署官网(无后端交互)
  7. 命令父窗口变颜色_【编程】第五期:Python Tkinter图形化教程03布局之父窗口、pack和LabelFrame...
  8. 12123两小时没付款怎么办_交管12123支付宝小程序付款不了怎么办 交管12123支付宝缴费方法介绍[多图]...
  9. C语言中用链表构建栈讲解,C语言数据结构之使用链表模拟栈的实例
  10. Java匹马行天下之学编程的起点——高级语言大锅烩
  11. Log4net 配置实例
  12. 游戏设计3C之一——角色
  13. camshift实现目标跟踪
  14. fit me app Android,「最美应用」国庆专题:—这些习惯养成 App,让你离更好的自己更进一步!...
  15. 用HTML写一个会员注册、登录界面
  16. 从命令行安装Deb文件的5种方法
  17. 织梦建站教程,织梦安全问题解决,修改织梦URL命名规则
  18. 数字时代的“文艺复兴”?起底数字藏品,让人欢喜让人愁
  19. Unity—Json1
  20. Navicat的安装及简单使用

热门文章

  1. lasso模型交替方向matlab_TCGA系列学习笔记(7)建模及模型评价
  2. 实现2个整形变量的交换
  3. 2017-2018-2 20179306 《网络攻防技术》第十周作业
  4. 使用 ExceptionDispatchInfo 捕捉并重新抛出异常
  5. C++ 空间配置器(allocator)
  6. [obc学习日记]3.10
  7. 在ASP.NET中防止注入攻击
  8. delphi 汉字的编码 转换
  9. 位运算之左移右移运算之详解
  10. 贵州2021高考状元成绩查询,2021年贵州高考状元名单公布,贵州高考状元学校资料及最高分...