不想为了OOP而OOP

设计模块的时候习个人习惯于自顶向下。发现越往下模块越多,这时候习惯用接口类型的容器把不同实现类放到容器中,再根据情况调用接口。看上去好像是用观察者模式来调用实现模块重写的接口函数。

一但有了OOP的思想就一发不可收拾。“幻想”着完美的架构,清晰UML,可往往变成了一大堆存放抽象业务类的容器,一大堆数据接口容器,然后在某个时刻发挥下“多态”的特性。结果是从数据源头到抽象业务类到具体实现的业务类到接口到接口实现类。看上去似乎是将OOP的封装、继承、多态用到了机制。画了UML看后惨不忍睹。其实有时候几个函数能实现的功能,干嘛搞一堆抽象类,接口类,实现类出来了? 为了拓展?为了适应以后需要? 可往往是一直都不会有扩展,一直都没有变化。等到真的又的大变化要重构的时候可能框架又变了。

时间: 2024-10-13 05:29:21

不想为了OOP而OOP的相关文章

JQuery OOP 及 OOP思想的简易理解

在项目维护的时候,看到通篇的function实际上是非常费(痛)劲(苦),个人对于前端也不是特别熟悉,就想着JQuery能否也建立OOP的写法? 目的便于日后代码维护管理,就算不为了自己,日后交接后也能让另一个攻城狮,一目了然的定位错误. 一.oop.html 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1

js oop 封装

读者朋友们好,前面我们已经讲解了有关javascript的基础,从今天的内容开始,我们就要开始讲有关封装的内容了,这里,我们就一点一点地接触到OOP(面向对象编程)了,如果作为一门语言使用的程序员连OOP都不知道是什么,或者只听说过,自己没有去领悟,不能写出面向对象的代码,那么也没有学习程序的必要了,下面我先会给大家详细的介绍面向对象是什么,面向过程是什么,要想弄明白面向对象,首先我们就必须知道面向过程.在你已经弄明白了面向过程之后,我们也不能盲目地为了OOP而OOP,那样只会是做一些徒劳的事,

iOS编程开发笔记1——OOP,iOS,MVC

OOP,iOS,MVC 何政达 [前言]:写这篇文章的目的是总结一下这几天学到的有关iOS编程的有关知识点.主要分三部分:OOP的设计理念:iOS的构成:MVC的具体应用. Part I :OOP 说起OOP,大家都知道是什么--面向对象程序设计(Object-OrientedProgramming).但是我们为什么要使用这样的一种设计模式来进行我们的程序设计呢?记得一开始学习编程的时候是小学六年级,当时学习的是BASIC:上了初中以后学习PASCAL语言:上了高中开始学习C语言:到了大学之后逐

python速成第二篇(小爬虫+文件操作+socket网络通信小例子+oop编程)

大家好,由于前天熬夜写完第一篇博客,然后昨天又是没休息好,昨天也就不想更新博客,就只是看了会资料就早点休息了,今天补上我这两天的所学,先记录一笔.我发现有时候我看的话会比较敷衍,而如果我写出来(无论写到笔记本中还是博客中,我都有不同的感觉)就会有不同的想法,我看书或者看资料有时候感觉就是有一种惰性,得过且过的感觉,有时候一个知识想不通道不明,想了一会儿,就会找借口给自己说这个知识不重要,不需要太纠结了,还是去看下一个吧,然后就如此往复下去,学习就会有漏洞,所以这更加坚定了我写博客来记录的想法.

C#拾遗之类的OOP特性

OOP概述 OOP不仅是一项具体的软件开发技术,而且是一整套关于如何看待软件系统与现实世界关系,以何种观点来研究问题并进行求解以及如何进行系统构造的软件方法学. OOP方法的出现弥补了传统方法的不足,首先着眼于实际问题中所涉及的对象,包括各种客观实体及事件等,为解决问题设计所需的,各种对象以及对象的属性,必要的操作和各个对象之间的关系,从而构建出对象的结构和为解决问题需要执行的事件序列(俗称脚本).通过各个对象之间的消息连接,建立所需的功能. OOP方法中类的定义充分体现了抽象数据类型的思想,基

Lua下通过元表模拟OOP编程,继承多态

Lua本身是没有以明确的定义来支持OOP编程的,但是我们却可以通过Lua内核提供的一些特性来间接实现简单的面向对象的编程. 通过Lua中的 table结构  metatable 以及函数可以配合实现OOP,以及继承.这些说白了都是一种伪实现,不建议在Lua下使用多重继承 . 在LUA中你想要 强制实现OOP 你必须需要懂一下几个关键词!! 什么是语法糖? 语法糖即糖衣语法,C/C++升级过程中的面向对象 整体就是一种语法糖 ,是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)

Golang OOP、继承、组合、接口

http://www.cnblogs.com/jasonxuli/p/6836399.html 传统 OOP 概念 OOP(面向对象编程)是对真实世界的一种抽象思维方式,可以在更高的层次上对所涉及到的实体和实体之间的关系进行更好的管理. 流传很广的OOP的三要素是:封装.继承.多态. 对象:可以看做是一些特征的集合,这些特征主要由 属性 和 方法 来体现. 封装:划定了对象的边界,也就是定义了对象. 继承:表明了子对象和父对象之间的关系,子对象是对父对象的扩展,实际上,子对象"是"父对

OOP 面向对象

我们是怎么思考和解决上面的问题的呢? 答案是:我们自己的思维一直按照步骤来处理这个问题,这是我们常规思维,这就是所谓的面向过程POP编程 二.面向过程POP为什么转换为面向对象OOP 面向过程想的思想步骤越多,变化越多,是无法掌控的,所以有时候非常复杂,就比如我们拿起来手机玩游戏如果按照POP编程则代码如下: namespace OOP { /// <summary> /// OOP 面向对象编程 Object Oriented Programming /// </summary>

基于反射的动态调用-不止是code和oop,还有类加载方案

先给出基础类资源的代码,很容易理解,不做过多介绍: 1 package oop; 2 interface t { 3 public static final String name="zhangph"; 4 } 5 public class Father implements t{ 6 private static int mem; 7 static { 8 System.out.println("这是父类");//因为你不曾常用反射,所以加上这段代码显示区别 9