软件设计-模块化设计初思考一

软件设计-模块化设计初思考一

模块化设计

说明:模块化设计,简单地说就是程序的编写不是开始就逐条录入计算机语句和指令,而是首先用主程序、子程序、子过程等框架把软件的主要结构和流程描述出来,
并定义和调试好各个框架之间的输入、输出链接关系。
逐步求精的结果是得到一系列以功能块为单位的算法描述。
以功能块为单位进行程序设计,实现其求解算法的方法称为模块化。
模块化的目的是为了降低程序复杂度,使程序设计、调试和维护等操作简单化。
改变某个子功能只需相应改变相应模块即可。

最近在设计软件,突发奇想,把自己的模块化设计的思考记录下来

首先

在需求分析时,应尽可能的了解所有可能的功能,以及日后可能扩展的功能
当我们整理出所有功能时,应对其中的功能,进行模块化,(若是经验足够,完全可以自顶向下,直接模块化思考。)对于新手而言,最简单的方式是,列出所有的功能,并对其分类,抽象。

举例

我们从一个软件的开始模块(个人模块)进行分析,对于个人模块,我们可以分析出以下功能

  • 登录
  • 注册
  • 忘记密码
  • 冻结
  • 申请解冻
  • 审核用户状态

登录 中 涉及到验证方式 :

  1. 账号验证
  2. 邮箱验证
  3. 手机号码验证
  4. 。。。(其他可以追加思考)

注册 时 验证用户唯一性

  1. 邮箱验证
  2. 手机号码验证
  3. 。。。(QQ, WeChat … and so on)

冻结与解冻 中 有个 状态提醒

  1. 邮箱提醒
  2. 手机短信提醒

于此同时
在 登录、注册、冻结与解冻中:
1、可以抽象出一个 Verify 接口
具体 实现 可以为

  • 邮箱验证
  • 手机号码验证

2、可以抽象出一个 Sender 接口
具体 实现 可以为

  • 邮箱发送
  • 手机号码发送

所以在用户模块中 会聚合 Verify 的具体实现
Sender 的具体实现

另外
对于发送的内容 我们可以通过 配置文件 配置 ,当我们模块多的时候可以 将 配置 抽象
—>配置类

代码

Verify 接口我是这样设计的

package com.ss.account.verify;

public interface Verify {
   

    boolean verifyAccount(String account);

}

Verify 接口 实现类

package com.ss.account.verify;

public class MailVerify implements Verify{
   

    @Override
    public boolean verifyAccount(String account)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值