精华内容
下载资源
问答
  • 第156课时: 模块化编程理念 什么是模块 哲学思想 模块: 1. 模块化(module)程序设计理念 比如之前的海龟绘图,import。。。那个就是导入海龟绘图模块 模块、包就是把相关的大量复杂程序放到一起 。 函数和类多...

    第156课时: 模块化编程理念 什么是模块 哲学思想



    模块:

    1. 模块化(module)程序设计理念

    比如之前的海龟绘图,import。。。那个就是导入海龟绘图模块

    模块、包就是把相关的大量复杂程序放到一起 。

    函数和类多了放到一个模块里面 。

    模块多了 ,就是包 :

    结构图:
    在这里插入图片描述

    Python都是由一个个模块组成的。
    在这里插入图片描述



    标准库模块:

    与函数类似,模块也分为 标准库模块 、 用户自定义模块 。

    Python还有大量的第三方模块,web开发、大数据、人工智能,图像处理 等等。

    模块化编程: 将一个任务分解成多个模块
    在这里插入图片描述

    展开全文
  • 在介绍之前大家思考下列的几个问题 1 什么是过程化思想? 2 什么是模块化思想? 3 他们之间有什么区别?

    在介绍之前大家思考下列的几个问题
    1 什么是过程化思想?
    2 什么是模块化思想?
    3 他们之间有什么区别?

    展开全文
  • 模块化(module)程序设计理念1.1 模块和包概念的进化史1.2 标准库模块(standard library)1.3 为什么需要模块化编程 第七章 模块(module) 1. 模块化(module)程序设计理念 1.1 模块和包概念的进化史 “量变引起质变”...

    第七章 模块(module)

    1. 模块化(module)程序设计理念

    1.1 模块和包概念的进化史

    “量变引起质变”是哲学中一个重要的理论。量变为什么会引起质变呢?本质上理解,随着数量的增加,管理方式会发生本质的变化;旧的管理方式完全不适合,必须采用新的管理方式。

    程序越来越复杂,语句多了,怎么管理?很自然的,我们将实现同一个功能的语句封装到函数中,统一管理和调用,于是函数诞生了。
    程序更加复杂,函数和变量多了,怎么管理?同样的思路,“物以类聚”,我们将同一类型对象的“数据和行为”,也就是“变量和函数”,放到一起统一管理和调用,于是“类和对象”诞生了。
    程序继续复杂,函数和类更加多了,怎么办?好,我们将实现类似功能的函数和类统统放到一个模块中,于是“模块”诞生了。
    程序还要复杂,模块多了,怎么办? 于是,我们将实现类似功能的模块放到一起,于是“包”就诞生了。

    以上大家可以清晰地看到程序设计的发展历程,其中核心的哲学思想就是“量变引起质变”、“物以类聚”。同样的思路,在企业管理、人的管理中思路完全一致。大家可以举一反三。

    如下图所示:
    语句门组成了函数;函数和属性组成了类;类和语句组成了模块;许多的模块组成了包。这些包支持起了Python程序设计的便利和兴盛。
    在这里插入图片描述

    Python程序的组成回顾:

    1. Python 程序由模块组成。一个模块对应 python 源文件,一般后缀名是:.py;
    2. 模块由语句组成。运行 Python 程序时,按照模块中语句的顺序依次执行;
    3. 语句是 Python 程序的构造单元,用于创建对象、变量赋值、调用函数、控制语句等。

    1.2 标准库模块(standard library)

    与函数类似,模块也分为标准库模块和用户自定义模块。Python 标准库提供了操作系统功能、网络通信、文本处理、文件处理、数学运算等基本的功能。比如:random(随机数)、math(数学运算)、time(时间处理)、file(文件处理)、os(和操作系统交互)、sys(和解释器交互)等。

    另外,Python 还提供了海量的第三方模块,使用方式和标准库类似。功能覆盖了我们能想象到的所有领域,比如:科学计算、WEB 开发、大数据、人工智能、图形系统等。

    1.3 为什么需要模块化编程

    模块(module)对应于 Python 源代码文件(.py 文件)。模块中可以定义变量、函数、类、普通语句。 这样,我们可以将一个 Python 程序分解成多个模块,便于后期的重复应用。
    模块化编程(Modular Programming)将一个任务分解成多个模块。每个模块就像一个积木一样,便于后期的反复使用、反复搭建。

    模块化编程有如下几个重要优势:

    1. 便于将一个任务分解成多个模块,实现团队协同开发,完成大规模程序;
    2. 实现代码复用。一个模块实现后,可以被反复调用;
    3. 可维护性增强。
    展开全文
  • JavaScript模块化思想

    2019-04-13 16:49:00
    1. 首先,我们需要明白为什么要用模块化? 功能都为了解决需求的。模块化可以带来的优点有以下几点: (1)可维护性。举个例子,如果我们把未使用模块化的代码比作油和水混合在了一起,模块化之后的代码...

    1. 首先,我们需要明白为什么要用模块化?


    功能都是为了解决需求的。模块化可以带来的优点有以下几点:
    (1)可维护性。举个例子,如果我们把未使用模块化的代码比作油和水混合在了一起,模块化之后的代码就好像油和水的分层,油就是油,水就是水,这样的代码层次清晰,功能分明。似乎用油和水必然分层的现象来指代JS模块化的大势所趋也很合适。
    (2)命名空间。这里需要谈到JS的作用域。又涉及到了作用域链。如果对作用域链不熟悉的同学可以移步我的另一篇文章“理解JavaScript中的作用域链”。JS中是靠函数来区分作用域的。每个函数都有一个作用域链。如果我们把所有的代码都揉到一起,代码行数少还行,多了就难免会造成“命名空间污染”。
    (3)可复用性。当我们明白了命名空间,借助命名空间我们就可以实现对模块代码的封装,这样我们就可以在任何我们需要这个功能的时候直接去引用这个功能模块。

    接下来,用我的JS代码之路演示一下如何使代码模块化:
     
    (1)原始时代:把所有的要用到的JS代码都堆砌在该页面的一对<script>标签中。
    1 function f1(){
    2      //函数体
    3 }
    4 function f2(){
    5      //函数体
    6 }
    这样写的缺点:代码基本没有什么复用性可以,应该还会存在和页面隅合度太高的问题。还需要去考虑各种作用域的问题。
     
    (2)古时代:思路就是把模块写成一个对象。比如我们要写一个能控制页面音乐播放,停止,下一首,上一首的功能。就可以封装一个musicPlayer对象
    复制代码
     1 // 将基本的方法封装起来
     2             var musicPlayer = {
     3 
     4                 var musicDom = null, //播放器对象
     5                 var musicList = [], //存放歌曲列表
     6 
     7                 // 初始化音乐播放器
     8                 var init =  function(){
     9                     
    10                 },
    11 
    12                 // 添加一首歌曲
    13                 var add = function(src){
    14                    
    15                 },
    16 
    17                 // 根据数组下标决定播放哪一首,索引index从0开始
    18                 var play = function(index){
    19                     
    20                 },
    21 
    22                 // 暂停播放
    23                 var stop = function(){
    24                     
    25                 },
    26 
    27                 // 下一首
    28                 var next = function(){
    29 
    30                 },
    31 
    32                 // 上一首
    33                 var prev = function(){
    34 
    35                 }
    36             };
    复制代码
    这时候,就已经可以称之为一个模块了,在全局作用域中,我们只向window对象上绑定了一个musicPlayer对象,之后我们就可以使用musicPlayer加'.'的形式来调用里面的方法。如“musicPlayer.init();”
    这种方式也有一个缺点,就是我们不能去控制我们想暴露的内容,并且在外部可以改写musicPlayer对象的内部方法和变量。
     
    (3)现代。包含IIFE(立即执行函数),放大模式,宽放大模式,输入全局变量
      
      除了IIFE,其他的三种我之前都没有接触过,在这里简单谈谈我的理解。
     
    - IIFE(Immediately-Invoked Function Expression)
    复制代码
     1 // 创建一个立即执行的匿名函数
     2 // 该函数返回一个对象,包含你要暴露的属性
     3 // 如下代码如果不使用立即执行函数,就会多一个属性i
     4 // 如果有了属性i,我们就能调用counter.i改变i的值
     5 // 对我们来说这种不确定的因素越少越好
     6 
     7 var counter = (function(){
     8   var i = 0;
     9 
    10   return {
    11     get: function(){
    12       return i;
    13     },
    14     set: function( val ){
    15       i = val;
    16     },
    17     increment: function() {
    18       return ++i;
    19     }
    20   };
    21 }());
    22 
    23 // counter其实是一个对象
    24 
    25 counter.get(); // 0
    26 counter.set( 3 );
    27 counter.increment(); // 4
    28 counter.increment(); // 5
    29 
    30 counter.i; // undefined i并不是counter的属性
    31 i; // ReferenceError: i is not defined (函数内部的是局部变量)
    复制代码

    从以上的代码可以看出,counter中其中并没有i这个属性,它只有return 中暴露出来的内容。这样我们就对i实现了私有。

     
    - 放大模式
    我对放大模式的理解就是把原函数当作参数传递到IIFE中,然后给原函数添加新的扩展方法,把扩展后的函数返回。就实现了对原函数的“放大”。
    1 var module1 = (function (mod){
    2   mod.m3 = function () {
    3     //...
    4   };
    5   return mod;
    6 })(module1);

    在这个例子中,就给module1添加了一个新的方法m3并返回。

     

    - 宽放大模式
    宽放大模式就是在放大模式的基础上新增了一个特性:IIFE的参数可以是空对象。
    1 var module1 = ( function (mod){
    2   //...
    3   return mod;
    4 })(window.module1 || {});

    IIFE传入的参数:如果window.module1有定义,就传入该参数,如果为undefined就传入一个空对象。

     

    - 输入全局变量
    如果我们要在IIFE内使用全局变量,最好把全局变量通过参数传递进去。
    1 var module1 = (function ($, YAHOO) {
    2   //...
    3 })(jQuery, YAHOO);

    如上所示的代码将jQuery和YUI两个库的全局变量当作参数传入了module1。

     

    转载https://www.cnblogs.com/enjoymylift/p/6030244.html

    转载于:https://www.cnblogs.com/gopark/p/10701804.html

    展开全文
  • css模块化思想(一)

    2015-07-30 17:52:00
    什么是css模块化思想?(what) 为了理解css模块化思想,我们首先了解下,什么是模块化,在百度百科上的解释,在系统的结构中,模块可组合、分解和更换的单元。模块化一种 处理复杂系统分解成为更好的可管理...
  • 模块化思想的重要性

    千次阅读 2012-05-26 23:46:24
     什么是模块化思想模块化思想就是指将页面根据内容的关联性分解成不同的且相互独立的模块进行开发,每个模块之间没有必然的联系,互不影响。  在早前,团队协作相对比较少的情况下,模块化的思想并不会特别的...
  • 前端开发模块化思想设计浅薄看法

    千次阅读 2017-01-18 18:23:03
     什么是模块化思想模块化思想就是指将页面根据内容的关联性分解成不同的且相互独立的模块进行开发,每个模块之间没有必然的联系,互不影响。  在早前,团队协作相对比较少的情况下,模块化的思想并不会特别...
  • 前几天面试虾皮问了什么是模块化,没有解答清除。 1.什么是模块化? 简单地说,模块化就是有组织地把一个大程序拆分成独立并互相依赖的多个小文件(模块)。 模块内部有许多私有属性,只向外暴露一部分公开的接口(如...
  • 模块化开发思想

    2016-10-26 06:13:31
    Posted on 2014 年 3 月 19 日 by 荒漠千蝶 在网站的初始开发阶段,当...模块化的布局,最大的好处,便易于开发和维护。更好的响应需求的变更。模块之间不相互依赖,又有一定的共性。 模块化的布局通常
  • CSS模块化基本思想

    千次阅读 2016-03-14 17:48:30
    什么是模块模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程。 模块化用来分割,组织和打包软件。每个模块完成一个特定的子功能,所有的模块按某种方式组装起来,成为一个整体,完成整个系统所...
  • 模块化编程的思想

    2021-04-02 09:01:43
    模块化的设计,规定只能上层调用对应下层的API,如果TuYa要调用Ingenic的函数,那么就需要将Ingenic的API封装成LUX头,方便后期调试 在这篇中也有提到:音视频DSP中的IVS算法处理流程 还有一种情况: 现在需要在屏幕
  • 设计思想之一功能模块化 1.什么是功能模块化 将实现不同功能的代码分别存放到不同的文件、类、方法中,每一个文件、类、方法都一个实现单一功能的模块。   2.为什么使用模块化 模块化的文件、类、方法功能...
  • 软件工程的中心目标之一程序的模块化和可重用性,Java中提供的了一些有助于完成这目标的有效结构,这种结构就叫做函数或方法。 下面介绍函数在Java中的结构(即语法): public static void main(String[] args){...
  • 引言 ...然而入门简单并不意味着前端这碗饭很好吃,做惯了切图、布局、扣特效的前端新同学在向前发展的路上越来越觉得吃力,而没有任何编程思想和软件开发基础很多人对前端工程化、组件化、模块化...
  • 什么是模块化? 简单地说,模块化就是有组织地把一个大文件拆成独立并互相依赖的多个小模块。 模块内部有许多私有属性,只向外暴露一部分公开的接口(如可以修改私有属性的方法等) 2.为什么模块化? ES6之前,...
  • 工程化、模块化、和组件化分别是什么?工程化最基础的工程化思想就是将页面的结构、样式和动作分离,工程化是一种思想而不是某种技术,用做工程的思维看待和开发自己的项目,而不是直接撸起袖子一个页面一个页面开些...
  • 前一篇文章了解了什么是模块,这一篇就简单介绍一下如何定义并加载一个模块。 我所了解的三种模块加载方式分别CommonJS、AMD和CMD 网上关于这三种模块加载方式讲解的文章很多,我就简单的做个介绍,如果想深入...
  • 好久没更新播客了,最新想写些自己的编程方面想法。也就是些自己的想法,不一定准确,在这希望能和大家分享下。 相信大家在大学的时候都学过程序...1、 多使用模块化编程的思想,在编写之初,模块需要做什么功能...
  • JS高阶编程技巧 利用闭包机制,实现出来的一些高阶编程方式 模块化思想 ...为什么要引入模块化思想呢? 在传统的js编程中,往往会将很多函数和变量都写在同一个js文件中,那么如果团队协作开发,同一个
  • 然而入门简单并不意味着前端这碗饭很好吃,做惯了切图、布局、扣特效的前端新同学在向前发展的路上越来越觉得吃力,而没有任何编程思想和软件开发基础很多人对前端工程化、组件化、模块化、M...
  • 是什么 软件是个复杂的东西。不过,软件整体的复杂度是可以降低的。 为此,软件需要由多个简单的模块组装而成。 也就是说,将代码中关联性较强的元素聚集起来做成模块模块的接口简单明了,不能含有多余的东西。...
  • 模块化介绍

    2016-11-07 00:11:00
    了解模块化思想 为后面的node学习打基础 1.2. 什么是模块化 生活中的模块化 组装电脑 google的模块化手机(流产了,moto继承了) 乐高积木 软件开发中的模块化 日期模块 数学计 算模块 日志...
  • 那么既然写了这篇文章,闲话少说,发车看看Spring是如何解决的循环依赖,以及带大家看清循环依赖的本质是什么。 正文 1、什么是微服务?(暗藏杀机) 2、什么是微服务扩展性和高可用-可扩展性、高可用性和性能 3、...
  • 关于模块化

    2021-03-22 23:15:07
    模块化 一种思想 能够学到什么模块化演变过程 模块化规范 常用的模块化打包工具 基于模块化工具构建现代Web应用 打包工具的优化技巧 模块化演变过程 stage 1: 文件划分方式    缺点:污染全局...
  • CSS模块化

    2021-04-16 22:46:02
    什么是CSS模块化? 在系统结构中,模块可组合、分解和更换的单元。模块化是一种处理复杂系统分解成为更好的可管理模块的方式。那么css模块化思想,就是在css 编写的环境中,用上模块化思想
  • css 模块化

    2017-07-06 13:37:00
    什么是css模块化思想?(what) 为了理解css模块化思想,我们首先了解下,什么是模块化,在百度百科上的解释,在系统的结构中,模块可组合、分解和更换的单元。模块化一种处理复杂系统分解成为更好的可管理模块...
  • 前端模块化

    2021-03-17 10:08:51
    一、什么是模块化 模块化并不是前端独有的思想模块化是一种自顶向下的过程,通过把一个大的系统,逐步划分为一个个小的模块,这些模块内部封装了一些特定的功能,通过约定的接口对外暴露。各个模块之间互不干扰,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,006
精华内容 402
关键字:

模块化思想是什么