在设计软件的时候,有时假思维没有转化过来。常常会以流程化或过程化的思维来设计与编码。而流程化的设计主要是一些代码的堆积,有时会出现混乱,虽然我用用的是JAVA这个彻底地面向对象的语言。可实际上设计的时候会感觉到函数式编程或过程结构化编程。这样会导不能致一些不记后果:
1.代码没有层次性,归类,混乱,不易阅读。
2.代码重用性差。这个项目做完以后,里头的一些模块很难再服务于其他系统.
3.代码中没有应用到面向对象编程思想,比如接口(interface),变量的生存周期,抽象(abstract)与继承(inherit)。以及覆盖(override),以及模块化思想(低内聚,高耦合)。有时个个模块的耦合性太大。导致代码后期维护困难。而面向对象就是为处理这个问题而出现的。所以在应用与开发的过程中,应该尽量以类与对象为实体,考虑系统的动态行为方式。
包括:
1.抽象
2.对象与类
3.对象之间的交互
4.对象之间的关联
等等
其实概括成一句话就是充分理解对象的角色,职责,以及交互。只有充分理解对象的这些行为和属性,以及属性的生存周期(有时把属性当成local properties, class scope proprities也可).
下面我以IM即时通信系统为例:
去分析一下系统的功能模块
实现群聊和私聊。用户列表。消息推送。文件传输。天气预报。用户签名。
语音视频,上线下线通知。网络硬盘。传输表情。单点登陆到其他网站或系统。消息历史查询。
外观界面修改等等(注意要原创性开发)开始完全模似QQ,YY进行开发。
上面是这个系统的一些基本需求。你能够抽取出它的一些类与对象吗?你能够定义它们的角色以及职责,它们之间的交互嘛。 当然要做好这件事情是非常不容易的。
1.具有良好的协议,比如XMPP协议
2.具有良好的框架与结构。比如osgi,MVC(swing,qt,等)
3.具有良好开发经验的框架设计者与程序员
................................................................
下面是我学习过程中的一些技术总结,希望跟大学一起学习与交流.
1.dom4j.jar api解的xml文件
2.正则表达式,解析字符串 oro.jar
3.luncene.jar查询与检索全文API
4......................
5.JDBC ,iBatis,Hibernate,JPA
6.Spring ,EJB
7.Socket,tcp/ip,mina,java.nio
8.java.io,java输入输出
9.面向对象设计基础,abstract,interface,override等
10.java gui (swing,swt,gwt,flex)
11.java多线程,泛型,集合,异常处理机制等等
12.j2me,android嵌入式手机开发
13.windows,linux,unix系统搭建环境等等
14.海量数据处理,hadoop,mongoDB,应用
15.java模块化osgi
分享到:
相关推荐
总的来说,学习OC面向对象编程基础,不仅需要理解类和对象的概念,还要掌握类的实例化、属性和方法的使用,以及如何通过消息传递实现对象间的交互。同时,通过实际编程练习,可以加深对面向对象思想的理解,提高编程...
下面我们将深入探讨Python中的面向对象编程基础。 一、类与对象 1. **类(Class)**:类是面向对象编程的基础,它是创建对象的模板。在Python中,我们通过定义class关键字来创建一个类。例如: ```python class...
【VFP 面向对象编程基础】 Visual FoxPro 6.0 是一款经典的关系数据库管理系统,它支持面向对象编程(Object-Oriented Programming,OOP),使得开发人员能够更高效地构造应用程序。面向对象编程是一种编程范式,...
总的来说,理解和掌握C#的面向对象编程基础是成为一名合格的C#开发者的关键步骤。通过学习对象、类、实例化、封装、继承和多态等概念,开发者能够构建出符合现实世界逻辑的、易于维护的软件系统。在后续的学习中,还...
### 面向对象编程基础知识 #### 面向对象编程概述 面向对象编程(Object-Oriented Programming,简称 OOP)是一种软件开发方法论,它通过将数据和操作数据的方法绑定在一起,即将抽象的数据类型定义为类(class)...
Java 面向对象编程基础 面向对象编程是一种编程范式,强调将问题域中的对象和概念映射到编程语言中的对象和概念。Java 是一种面向对象的编程语言,支持面向对象编程的基本概念和机制。 对象、类和实体 在面向对象...
Java数据结构与面向对象...总之,Java数据结构与面向对象编程是编程学习的核心,它们是构建复杂系统的基础。通过深入理解并熟练应用这些概念,开发者可以编写出高效、可维护的代码,为自己的职业生涯打下坚实的基础。
面向对象编程基础知识点总结 面向对象编程是软件开发领域中的一种开发方法,它的出现是程序设计领域的一个重大进步。面向对象编程的优点包括可维护性、复用性、扩展性、灵活性等。 在面向对象开发中,有两种身份:...
面向对象编程基础
JAVA面向对象编程基础PPT教案学习 JAVA面向对象编程基础PPT教案学习是面向对象编程(OOP)的入门教材,该教程旨在帮助学生理解面向对象编程的基本概念和原理。下面是该教程的知识点总结: 一、面向对象编程的基本...
Java实验Java语言面向对象编程基础 本实验报告是关于Java语言面向对象编程基础的实验,旨在掌握Java语言的基本数据类型、变量、运算符、表达式、输入输出、流程控制、面向对象编程基础等知识点。 一、实验目的 本...
Java面向对象编程基础
面向对象编程基础是软件开发中的核心概念,它基于现实世界的实体和交互来构建代码结构。在Java编程语言中,面向对象编程(OOP)是其主要的编程范式。本章将详细介绍OOP的一些基本概念和关键特性。 首先,我们要理解...
JAVA面向对象编程基础 JAVA面向对象编程是面向对象编程语言的基础,包含定义类、创建类的实例对象、构造函数、访问控制修饰符、静态属性和静态方法等内容。 一、定义类 在JAVA中,定义类使用class关键字,语法...
python python面向对象编程基础
Java面向对象编程基础 面向对象编程(Object-Oriented Programming,OOP)是现代软件开发中广泛采用的一种编程范式,它的核心理念是将现实世界中的事物抽象为计算机中的对象,通过这些对象之间的交互实现软件的功能...
C面向对象编程基础学习笔记.pptx
python08Day 面向对象编程基础.rar