我的拙见 任务对象流程化开发

最近写程序我有了下面的一些想法,请大家看看,如果开发程序方式,采用我所想的这个开发过程会不会有所帮助。下面的东西是我随性而写如有纰漏还请见谅,如有可笑幼稚之处也请大家指出。当然如果我说的这个东西已经有了先例,也请各位大侠指出,小弟当虚心学习,请大侠不吝赐教。

我考虑的是一种 我称之为任务对象流程化开发。

我们在开发程序的时候更多的是把计算机理解为一种工具,告诉它应该做什么怎么做。

我考虑的是这样一个假设前提是我们将计算机看做一个人,它本身具备了一些能力(包括硬件本身可以做的,和我们已经封装好的控件,以及我们已经编写好的code),还有它可以学的东西(包括在现有基础上再扩充的东西),还有就是我们通过其它办法扩充(如硬件、软件方法)它使得其获得更大的能力。

就我们人来看,我们日常中有很多的事情要做,就像我们打游戏一样,主人公会接到各种各样的任务,有并行的任务,也有串行的任务。

在面向对象开发过程中,最好是可以写出重用性很高的代码。软件工程,由于工程越来越庞大,我们很难把握工程的进度,同时对于框架的架构也很难控制,如何给出一个好的架构成了很难的问题。

我有这样的一个想法能否从任务的角度来划分对象,将对象理解为任务,将任务看成一个对象即计算机要做的一件事情。之所以这样看,是因为我们在日常的生活中,我们要做许许多多类似的事情。就好像每一个人,都要吃饭、睡觉、上班等等一样。这样的话我们的日常任务都会具有某种程度的相似性。我们可以将任务的相似部分抽象出来。而不是像现在把一个车看成一个对象,抽象许多的车成为一个对象。因为我想任务的千差万别终究要比事物的千差万别来的要少。那么类中的方法我理解为是我们解决这个任务的方法。而不是正常面向对象中的类中的方法是这个类可以做什么。

 

 

对于计算机这个人来说不管什么东西对于它来说都是一个任务。

同时对于一个大的任务(例如一个application),其中必然要牵涉到许多小的子任务。这些任务有串行的任务,又有并行的任务以及可以选择的任务。

我将一个工程看成一个大的任务即完成用户的需求,首先这是一个怎样的任务,我们的计算机有多少能力来完成它,我们已经有的任务处理方法类能否使用于这个新的任务,如有这样一个任务类,那么其中有哪些子任务能够用,哪些需要替换为别的任务,将用户的需求理解为若干个子任务,然后再对子任务进行划分。这样的话就会出现一些必然任务和一些偶然发生的任务。就好像对于一个软件有些部分经常被用到,有些部分不常被用到。还有主任务与辅助性任务等等。当我们将任务拆分的足够原子的时候,假设我们有很多的任务模块已经做好,那么我们只要将相应的任务模块直接或稍加改动添加给对应任务位置就可以,也许输入的数据是不同的,但这时我们只要将输入的数据改变成这个任务模块可以接受的样子就可以了。

就好像说当到了运行这个任务的时候,计算机就用它的一种处理任务的能力来处理这个任务。

这样的话,假设对于一个非常常用的任务,我们只要将给这个任务的千差万别的数据转换成,计算机处理这个任务时能够理解的任务就可以了。

前面,我提到过说任务的有偶然的,也有必然的。对我们日常行为生活来说,也许今天偶然的事情,明天就是必然的。这样,划分偶然的任务也许会在未来的某一时刻起到很重要的作用。

还有就是任务相似性的问题,很多的任务具有很强的相似性,这种相似性我认为要比实物对象强的多。例如我们睡觉可以在各种各样的床上,但我们都要执行相同的睡觉任务。

我个人的拙见是认为通过任务抽象,会使得代码重用性更高。而且通过以任务为对象,整个系统流程应比较有序,更易掌握。

由于我的想法还很不成熟,所以就只能写这么多,还请各位高人指教。

由于仓促文字错误敬请见谅。

我的邮箱:inuyasha_wzr@163.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值