`
tianzizhi
  • 浏览: 15030 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

自己慢慢找回一点面对对象的思想

 
阅读更多
现在做项目大都是action service dao 三层,
不知为什么现在有点讨厌这种形式了,基本就是面向过程的开发模式,
不管什么东西都往service里放,
最近打算对自己的模块(一个采购接口)模式进行二次重构(之前重构根据多种采购渠道的整合重构过一次)

根据对象职责的分配,细分一些采购涉及的对象;现粗略的抽象出下面的一些职责对象
  
        order------------------------->采购总对象

        singlepurhcase --------------->单采购对象,职责,负责一个采购过程的总流水过程
        
         multipurhcaase --------------->多采购对象,职责 ,负责一个订单的多次采购总流水过程
        
         multigoods ------------------->对象责任 选择商品算法  
         
         securityorder----------------->对象职责 检验各种采购信息是否正确
        
         purchasemode ----------------->对象职责 执行各种采购形式的后操作
        
         purchasefromXX1 purchasefromXX2 purchasefromXX3
        继承purhcasemode-------------->对象职责 ,处理来自不同渠道的采购自定义操作 
        
         orderrecord ------------------>  职责 ,记录采购操作过程中各种记录操作
        
         orderparams-------------------> 职责 ,负责采购过程中的采购参数传递
        
         orderutil--------------------->职责  采购过程中工具操作
        
         goods ------------------------>职责  商品实体和商品各种计算操作 如查询类似商品
         
         distribution------------------>职责  商品的分销条件实体和分销实体的各种计算操作
         
         customer --------------------->客服实体,职责 采购过程的客服分配和通知
          
         commistion ------------------->采购过程中订单佣金实现,职责,负责订单佣金的计算
          
         finance----------------------->采购过程中的财务对象,职责,负责订单的财务操作
        
         exeption---------------------->采购过程中的异常对象,职责,负责订单的异常处理
        
         test-------------------------->采购的单元测试对象和整合流程测试对象,职责,确保订单创建过程的正确性

  repository---------------->业务数据存储对象

下面一段时间进一步分析重整,
我觉得一个良好的系统的就如一件精密的仪器一样,每个零件在负责好自己的职责外,又能和其它组件良好的协同作业
       
分享到:
评论

相关推荐

    python课件-第6章 面向对象程序设计.ppt

    Python 完全采用了面向对象程序设计的思想,是真正面向对象的高级动态编程语言,完全支持面向对象的基本功能,如封装、继承、多态以及对基类方法的覆盖或重写。面向对象程序设计(Object Oriented Programming,OOP...

    面向对象十个设计模式

    面向对象设计模式是软件开发中的一种重要思想,它提供了一种在特定场景下解决常见问题的标准方案,使得代码更加灵活、可复用和易于维护。本篇将详细讲解标题中提到的十个面向对象设计模式,并结合每个模式的代码示例...

    基于Java swing带GUI界面的校友录系统(源码+数据库+课程报告说明书).zip

    此系统采用Java程序设计语言编写,数据库采用MySQL数据库管理系统。...慢慢掌握基于MVC结构程序思想和完全面向对象思想开发程序。希望在以后的实践中慢慢提高。最后感谢我的组员和帮助我的热心的同学们

    初始Nodejs

    可以说,Node.js开创了javascript模块化开发的先河,早期的javascript需求都很简单,基本都是写成函数的,然后是面向过程的写法,后来慢慢的引入面向对象开发思想,再后来就慢慢写成 类。最后node.js的出现才开始有...

    12.1_导论随堂授课案例源码.zip

    标题 "12.1_导论随堂授课案例源码.zip" 暗示这是一个教育材料,涵盖了计算机科学中的基础概念,特别是面向对象编程(OOP)和算法,以教学...通过分析和运行这些代码,学生能够加深对面向对象编程思想和排序算法的理解。

    JavaScript类的写法

    早期的javascript需求都很简单,基本都是写成函数的,然后是面向过程的写法,后来慢慢的引入面向对象开发思想,再后来就慢慢写成类。 在js中,写成类的本质基本都是 构造函数+原型。下面,就讨论一下js类的几种写法...

    java实现水果超市管理系统.doc

    通过 Java 实现水果超市管理系统,我们可以学习到 Java 语言的基本语法和面向对象编程的思想,也可以了解到管理系统的设计和实现过程。 知识点: 1. Java 语言基本语法:变量、数据类型、运算符、控制结构、函数等...

    c++知识框图及知识总结

    这个xmind文档适用于初学c++的小白,可以帮助...所以c++采用了面向对象的编程思想,从而提高了代码的复用性.c++的主要特点就是封装性,继承性和多态性. 希望读者看到这个c++知识框图,可以更好的去了解c++,去学习c++!!!

    计算机毕业生实习报告写.doc

    JAVA基础学习:JAVA和以前学过的C语言是不同的,JAVA是纯面向对象的语言,开始的时候受到C语言的影响,还很不适应JAVA的编程思想。慢慢的练习多了,也就能适应了。此刻才发现,JAVA比起C语言容易的多,它摒弃了C中很...

    python实现简单坦克大战.doc

    【Python实现简单坦克大战】是基于Python编程语言和Pygame模块设计的一款小游戏,旨在通过实践来锻炼面向对象编程思想。Pygame是Python中用于开发2D游戏的一个库,提供了丰富的图形、音频和事件处理功能。 游戏的...

    Visual Basic从入门到精通教材

    Visual Basic是一种由 微软公司开发的结构化的、模块化的、面向对象的、包含协助开发环境的事件驱动为机制的可视化程序设计语言。这是一种可用于微软自家产品开发的语言。它源自于BASIC编程语言。VB拥有图形用户界面...

    银行账户和三角形

    在面向对象程序设计中,类是对象的模板,它定义了一组特性和行为。...首先,我们定义了一个名为`BankAccount`的类,该类有两个...通过这样的练习,学生可以更深入地理解面向对象编程的思想,并能运用到实际编程项目中。

    QT版中国象棋

    《QT版中国象棋》是基于QT/C++编程语言实现的一款桌面游戏,旨在提供一个学习和实践QT界面设计以及深入理解面向对象编程思想的平台。QT是一个强大的跨平台应用程序开发框架,广泛应用于桌面、移动设备及嵌入式系统中...

    C++课程设计-单词消除游戏系统的实现(含设计报告).zip

    通过实际编写这个单词消除游戏,学生不仅能巩固C++语法,还能深入理解面向对象编程思想,同时锻炼解决问题和调试代码的能力。此外,项目中涉及的文件管理和版本控制也是现代软件开发不可或缺的技能。 总结,C++实现...

    《软件开发基础(Java)》实验报告-(概述).docx

    1. **面向对象编程(OOP)思想**: 面向对象编程是一种编程范式,它将程序设计为由多个相互协作的对象组成。在实验的第一部分,我们创建了一个名为`HelloWorld`的类,该类封装了输出“HelloWorld”的行为。这样做是...

    Java实现计算器加减乘除功能.zip

    通过这个项目,开发者不仅能巩固Java的基本语法和面向对象编程思想,还能学习到异常处理、设计模式以及软件工程中的其他最佳实践。对于初学者来说,这是一个很好的动手练习项目,有助于提升编程能力。

    C++实现简单职工信息管理系统.doc

    在系统中,还使用了面向对象的设计思想,将职工信息封装在 Worker 类中,使得系统更加灵活和可维护。同时,使用了文件输入/输出流来实现职工信息的保存和加载。 本系统的主要特点是: 1. 采用面向对象的设计思想,...

    用C#写的超简单的打地鼠游戏小程序

    首先,我们要理解C#的基础知识,这是微软公司推出的一种面向对象的编程语言,广泛用于Windows应用开发。在本项目中,开发者使用了C#的事件驱动编程模型,这种模型允许程序响应用户的交互,如点击鼠标或按下键盘。...

Global site tag (gtag.js) - Google Analytics