zoukankan      html  css  js  c++  java
  • 44 软件开发中的一些思考


    0 引言


    一直以来,对自己开发的软件并不满意,看了很多规则性的东西,但是并不能真正理解。在具体实施的时候,往往还是选择了比较容易实现的、自己看起来清晰的方法,结果一旦需求变更就出现诸多问题,或者在界面设计的时候感觉力不从心,对自己画出来的丑逼界面无可奈何。姑且先把问题记录下来,留待以后慢慢学习、体会、解决。


    1 关于降低软件各部分的耦合性


          最常用的理论是MVC架构理论,即软件的模型-视图-控制器分离架构。另外一种说法是软件的三层架构理论,感觉与此类似,说的是软件的数据、业务和界面分离,以实现“高聚合,低耦合”的目的。

        (1)数据访问层:主要是对非原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据库的操作,而不是数据,具体为业务逻辑层或表示层提供数据服务
        (2)业务逻辑层:主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理,如果说数据层是积木,那逻辑层就是对这些积木的搭建。
        (3)界面层:主要表示WEB方式,也可以表示成WINFORM方式,WEB方式也可以表现成:aspx,如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。

    2 关于类的抽象化设计
    什么时候需要重新定义一个类?
    类的范围?
    类的成员与函数?

    3 敏捷开发中的极限编程思想
    极限编程是一个轻量级的、灵巧的软件开发方法;同时它也是一个非常严谨和周密的方法。它的基础和价值观是交流、朴素、反馈和勇气;即,任何一个软件项目都可以从四个方面入手进行改善:加强交流;从简单做起;寻求反馈;勇于实事求是。XP是一种近螺旋式的开发方法,它将复杂的开发过程分解为一个个相对比较简单的小周期;通过积极的交流、反馈以及其它一系列的方法,开发人员和客户可以非常清楚开发进度、变化、待解决的问题和潜在的困难等,并根据实际情况及时地调整开发过程。
     
  • 相关阅读:
    LinkedListQueue
    LinkedListStack
    redis学习之——Redis事务(transactions)
    redis学习之——持久化RDB 和AOF
    redis学习之——redis.conf配置(基本)文件学习
    评估算法的核心指标
    Vector类
    List接口与ArrayList、LinkedList实现类
    Collection接口
    枚举类
  • 原文地址:https://www.cnblogs.com/ghjnwk/p/10436121.html
Copyright © 2011-2022 走看看