(原創) 數學就是loose coupling的極致表現 (OO)

news/2024/8/26 16:31:29

Abstract
我們已經在STL中看到loose coupling的威力了,但我今天發現,數學更是loose coupling最佳的詮釋。

Introduction
從小學到大學,哪些科目用處最大?英文和數學,英文不難理解,因為他是語言,任何知識都以英文傳遞,至於數學,一個很抽象難學的東西,卻又陰魂不散的在很多學科都用上,為什麼呢?

很多學科的知識,是屬於domain knowledge,脫離那個學科就用不上了,這也是為什麼有些學科可能學了後,只要你日後的學習或工作不是那個領域,就一輩子也用不到。回想數學是怎麼形成的?數學是很多domain發現了一些有用的運算規則後,經過整理,用特定的符號表示,也因為他完全跟domain切割,完全的loose coupling,所以這些數學規則又可被其他domain再利用。

Design Pattern的可貴在於如何的活用這些Pattern,事實上,數學就是一種Design Pattern,當你學了很多數學定義,公式後,最可貴的也就是如何將這些數學套用到你的domain。數學為什麼這麼強大?因為數學很抽象,越抽象威力越大,且與domain的loose coupling徹底,所以數學reuse程度非常高,可以用在很多domain,這也是為什麼各domain都以數學為研究的工具。數學與Desgin Pattern不同的是,數學還可以演算,透過數學的演算,常可推演出令人驚艷的結果,因而造就出新的科技。

Conclusion
數學讓我看到了loose coupling的威力,我寫程式也要努力朝著loose coupling的目標前進,此外,數學真的是一個很棒的工具,因為其抽象,因為其loose coupling,所以reuse程度高,我不能再逃避數學了,要更加強自己的數學能力,將數學用到自己的domain上。


http://www.niftyadmin.cn/n/4821460.html

相关文章

Visual Studio 2010 and the .NET Framework 4.0!

下一站:Visual Studio 2010 和 .NET Framework 4.0 REDMOND, Wash. — Sept. 29, 2008 — Microsoft Corp. today provided the first look at the next version of its developer tools and platform, which will be named Visual Studio 2010 and the .NET Framework 4.0. M…

CentOS基本的命令与快捷建

由于我的计算机在安装linux系统时,计算机出现了问题,并没有安装ubuntu而是安装的centos。虽然两者属于linux的不同版本,但是在具体的操作上大同小异。在学习linux的各种指令和快捷键的时候,难免会遇到各种各样的问题,以…

Delphi使用zlib来压缩文件

使用时,需要Zlib.pas和 Zlibconst.pas两个单元文件,这两个文件保存在 Delphi 5.0安装光盘上 InfoExtrasZlib目录下,此外,在 InfoExtrasZlibObj目录中还保存了 Zlib.pas单元引用的 Obj文件,把这个目录拷贝到delphi的lib…

Linq 动态查询库

【原文地址】Dynamic LINQ (Part 1: Using the LINQ Dynamic Query Library) 【原文发表日期】 Monday, January 07, 2008 11:02 PM LINQ (语言级集成查询)是VS 2008 和 .NET 3.5中提供的一个新特性。LINQ使得数据查询的概念成为.NET中的一等编程概念&a…

CentOS下screen 命令详解

一、背景 系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必须等待它…

javascript的fn方法(转)

jQuery为开发插件提拱了两个方法,分别是: jQuery.fn.extend(object); jQuery.extend(object); jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法。 jQuery.fn.extend(object);给jQuery对象添加方法。 fn 是什么东西呢。查看jQuery代码&#…

typedef的常用用法

1.常规变量类型定义 例如:typedef unsigned char uchar 描述:uchar等价于unsigned char类型定义 uchar c声明等于unsigned char c声明 2.数组类型定义 例如: typedef int array[2]; 描述: array等价于 int [2]定义; …

Spark-Shell交互式客户端

启动交互shell [roothdp-1 bin]# ./spark-shell --master spark://hdp-2:7077 --executor-memory 500m --total-executor-cores 1 --master spark://hdp-2:7077 sparkmaster节点的地址 --executor-memory 500m --total-executor-cores 1 运行wordcount程序 sc.textFil…