面向对象与设计模式 RD 2011.1.10. 常见编程范式介绍  并行编程 - Process-orientedProcess-oriented  组件编程 - Component-basedComponent-based  事件驱动 - Service-oriented,Time-drivenService-orientedTime-driven.

Slides:



Advertisements
Similar presentations
主要内容 Java 的常用包 Java 的常用包 “ == ” 和 “ equals ” 的用法 “ == ” 和 “ equals ” 的用法 基本数据类型与引用类型 基本数据类型与引用类型 String 和 StringBuffer String 和 StringBuffer 对象的克隆( clone.
Advertisements

软件编程基础 一、程序的编辑 Java 源程序是以 Java 为后缀的简单的文本文件,可以用各种 Java 集成开发环境中的源代码编辑器来编写,也可以用其他文 本编辑工具,如 Windows 中的记事本或 DOS 中的 EDIT 软件等。 利用文字编辑器编写下列程序 public class Hello.
Java 程序分类 Java Application :是完整程序,需要独立的解 释器解释运行;以 “.java” 为后缀的文件,以 main() 方法作为程序入口,由 java 编译器编译生 成字节码,由 Java 解释器加载执行字节码。 Java Applet 没有 main() 方法作为程序入口,是嵌在.
面向对象程序设计 、. 第二章 面向对象的分析与设计 学习目标 1 确定系统中的对象 2 确定对象的属性及操作 3 测试对象的有效性 4 区分对象和类 5 了解面向对象的编程和过程化编程之间的区别 6 了解封装的主要好处 7 了解软件开发的主要步骤.
多元評量與 Greenfoot 簡介 南港高中高慧君. 演講大綱 多元評量 高中階段程式設計教學目標與困境 Greenfoot 快速入門 – 袋熊吃樹葉 – 沙灘螃蟹 Greenfoot 臺灣社群介紹 2.
第三讲 面向对象(上).
3.2 Java的类 Java 类库的概念 语言规则——程序的书写规范 Java语言 类库——已有的有特定功能的Java程序模块
项目6 通用堆栈.
第1单元 操作系统概论 第一节 绪论 操作系统定义.
Java程序设计教程 第一讲 Java概述.
Java的程式架構與基本觀念 Java語言的歷史 Java程式的開發環境 Java程式的架構 輸出與輸入物件之使用 工具使用方法介紹
四資二甲 第三週作業 物件導向程式設計.
面向对象的程序设计(一).
面向对象程序设计(Java) 徐志红
MVC Servlet与MVC设计模式.
加强党性修养 弘扬优良作风 开创科学发展新局面
第一章 面向对象程序设计.
设计模式可以帮助我们改善系统的设计,增强 系统的健壮性、可扩展性,为以后铺平道路。
類別與物件 Class & Object.
第八章 分析與設計階段 – 物件導向設計(OOD)
第9章 单例模式 Website:
第三章 控制结构.
第8章 字元與字串處理 8-1 C語言的字元檢查函數 8-2 C語言的字串 8-3 字串的輸入與輸出 8-4 指標與字串
2018/11/15 面向对象与多线程综合实验-GUI设计 教师:段鹏飞.
第四章 在 C# 中实现 OOP 概念.
Java基础 JavaSE异常.
程序與函數的類別方法 目的:模組化程式設計 方法:由上而下設計 注意事項:(1)獨立性 (2)結合問題 (3)子問題間的溝通.
Screen Layout & Background Image
程式設計實作.
第四章 基本輸出入 Java應用程式的輸出入介面有三種,分別是命令提示字元視窗、AWT元件、及Swing元件。本單元先介紹命令提示字元視窗,AWT請看第16、17章,Swing請看第20章。 輸入 輸出.
第2章回顾 标识符:不用记,动手 关键字:if, else, switch, for, while, do, break, continue, void, …… 局部变量和成员变量 ①变量作用域 ②内存布局 基本数据类型 ①4类8种 ②互相转换 流程控制语句 ①分支 if……else, switch.
程序设计期末复习 黎金宁
程式撰寫流程.
面向对象程序设计 、.
Java程序设计 第9章 继承和多态.
SPOTO TM JAVA课程 JAVA中的OO语法
中国矿大计算机学院杨东平 第5章 接口和包 中国矿大计算机学院杨东平
Java
第9讲 Java的继承与多态(一) 类的继承 子类的创建 方法覆盖.
認識 Java.
C/C++/Java 哪些值不是头等程序对象
第11章 系统结构与包模型模型.
* 單元:電腦與問題解決 主題:Java物件導向程式設計-類別與物件 台南縣國立善化高中 蕭嘉民 老師
简单工厂模式.
C++ 程式設計 基礎篇 張啟中 Chang Chi-Chung.
辅导课程八.
JAVA 编 程 技 术 主编 贾振华 2010年1月.
第二章Java基本程序设计.
第二章 Java基本语法 讲师:复凡.
第十二章 学习使用Ant Apache Ant是一个基于Java的构建工具,它可以 会构建多种项目,但是目前主要被用于Java项目 的构建, Ant是用Java语言编写,可以在多个操 作系统中运行,目前在绝大部分的Java开源项目 中,都选择使用Ant作为构建项目的工具,Ant已 经成为Java开源项目构建的事实标准,而且越来.
Oop8 function函式.
Java程式初體驗大綱 大綱 在學程式之前及本書常用名詞解釋 Hello Java!程式 在Dos下編譯、執行程式
主编:钟元生 赵圣鲁.
本节内容 字符与字符串 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第二章 Java基本语法 讲师:复凡.
本节内容 引用类型 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第五章 类图和对象图.
龍老師我不會Debug QQ.
授课老师:龚涛 信息科学与技术学院 2016年3月 教材:《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
挑戰C++程式語言 ──第9章 函數.
第二章 Java基本语法 讲师:复凡.
第6單元 6-1 類別的繼承 (Class Inheritance) 6-2 抽象類別 (Abstract Class)
JAVA 程式設計與資料結構 第三章 物件的設計.
對於成員(member)存取權的限制 成員的資料被毫無限制的存取,任誰都可以指定任意值給成員,Java語言為了防止這種現象的產生,規定:有一種成員的資料不能任由類別外部的任何人隨意存取。
迴圈(重複性結構) for while do while.
判斷(選擇性敘述) if if else else if 條件運算子.
----以《西北民族音乐学术资源数据库》为例 西安音乐学院 景 月 亲
輸出執行結果到螢幕上 如果要將執行結果的文字和數值都「輸出」到電腦螢幕時,程式要怎麼寫? class 類別名稱 {
第二章 Java基本语法 讲师:复凡.
Summary
Presentation transcript:

面向对象与设计模式 RD

常见编程范式介绍  并行编程 - Process-orientedProcess-oriented  组件编程 - Component-basedComponent-based  事件驱动 - Service-oriented,Time-drivenService-orientedTime-driven  表达式编程 – 表达式驱动 Lisp  结构化编程 1. 面向对象 2. 模块化编程 3. 递归

结构化,共享数据,简单 什么是面向过程? #include int main(int argc, char *argv[]) { printf("Hello, world\n"); return 0; }

什么是面向对象 class { public static void main(String[] args) { System.out.println("Hello World!"); } public void ICanBark() { System.out.println(“Hey,I can bark!"); } 程序语言,完成了现实世界和虚拟环境的映射,语言的作用在于抽象, 表达 / 描述,进而解决问题。

面向对象和面向过程,本质是一样的,光既是波,也是粒。面向对象最基础的 部分,仍旧是面向过程的实现。 面向对象特点 Class 实例 方法 消息传递 抽象 封装 继承 多态 松耦合

不要被程序员的语言技能迷惑,要看透他们本质 面向对象与程序员 ◦ 披着 JAVA 外衣的 C 程序员 ◦ SSH 程序员 , Framework kids ◦ 披着 C++ 外衣的 C 程序员 ◦ 纯 C 程序员 ◦ 纯 C++/JAVA 程序员

世界上没有任何一种语言,像 C++ 一样对程序员脑力的剥削, 持续的时间这么长,剥削的深度这么深 面向对象的衍生问题 ◦ 面向对象,试图用一种具体化的抽象,来描述现实世界 的实体,实体之间的关系。这种方式,给语言和程序员, 带来了沉重的负担。 ◦ 对象生命周期管理成为 big trouble ◦ 组件之间的交互,成为大问题 ◦IOC 解决了上述问题 ◦ 框架和引擎,依托于面向对象而生 ◦ 设计模式

面向对象与设计模式 ◦JAVA 语言对软件界的贡献 设计模式 Gang of Four

Real Gang of Four

SBD saids : 设计模式只涉及方法论,与语言人品无关 什么人需要了解设计模式 ◦ 需要在 Framework 下面写代码,或者写一个框架 ◦ 想成为真正的 OO 程序员 ◦ 想自我剥削,更深刻的理解这个世界,用更抽象复杂的 方式描述这个世界 ◦ 脱离菜鸟的队伍 ◦ 想成为软件构架师 ◦ 想看懂国外的开源代码 ◦ 以上都不想,只想写好 WEB 程序,或者 GUI 程序

Singleton 设计模式 ◦ 面向对象,有 instance, object ◦ 大量的对象产生,要把容器撑爆,很难管理 ◦ 面试时候,一些学院派的考官,经常问这个问题 ◦ 本质上,我们需要对象生命周期管理 ◦ 其实,你只需要 1 个对象

Yep, Safe and simple 一个 Singleton 的例子 public class IAmSingle { private static iInstance=new IAmSingle(); private IAmSingle {} public IAmSingle getInstance() { return iInstance; }

Web 程序员, GUI 程序员的最爱 MVC

严格意义来讲, MVC 不是一个设计模式,而是多种设计模式的混合体 MVC 说,我不是设计模式

View 通过策略模式,把用户动作代理给 controller 执行

View,controller 都订阅了 Model 的状态变化,这样又是一个 Observer 模式

设计模式就像葵花宝典,但仍旧不是武术的最高境界,我们要把 它变成易筋经。 可以 Fellow, 不能盲从 … Thanks , 讨论一下