码农小手册1

把系统中复杂和经常变化的模块单独封装。

 
抽象的好处在于 你设计的时候 能忽略无关的细节。
 
封装帮助你管理 系统的复杂度的方法在于不让你看到那些复杂度。
 
 
在设计类的时候,要养成一个习惯。 问自己 “我该隐藏些什么字段和函数”
你会惊奇的发现,有很多棘手的设计难题都会在你面前化解。
 
 
好的程序设计所面临的最重要挑战之一就是适应变化。目标应该是把不稳定的区域隔离出来。从而把所带来的影响限制在一个子程序、类或者包的内部。
方法是:
1、找出看起来容易变化的模块。
2、把容易变化的模块分离出来。把容易变化的组件单独划分成类。
设计好类的接口,把变化限制在类的内部,且不会影响类的外部。任何使用了这个将会发生变化的类的其他类都不会察觉到变化的存在。
 
下面列举出容易发生变化的区域:
1、业务规则  比如说业务逻辑处理,这样 即使更换了 界面框架,业务逻辑就不用动。
2、对硬件的依赖性  这种隔离会非常有利于你把程序移植到新的硬件环境。同样,也方便你对系统模块进行测试。比如说 当硬件功能模块尚不稳定的时候,你可以 用软件作为模拟器 模拟硬件的输入输出 来替代硬件,继续开发。等硬件可用的时候再与软件连接。
3、输入输出 如数据的存储方式 之前用文本存储后来改为数据存储。
4、非标准的语言特性 比如你系统中使用了第三方框架 那么,以后可能会舍弃使用这套框架,那么 你应该用一个单独的类 或子模块 封装对 这些第三方框架的调用。
5、困难的设计  把觉得设计的很差而需要重新做的模块 隔离出来 以减少它对系统其余部分的可能影响降至最低。
6、复杂的设计  把复杂的算法 封装,因为 复杂的模块 出错的概率 比较大 需要优化的概率很高 这跟第五条类似
7、状态变量   把状态描述的变量 尽量用枚举而非 布尔变量。 一开始用布尔变量来定义后,往往到后期会发现 除了 true 和 false 以外还需要别的状态,就改用枚举。
且使用访问器子程序 访问状态的值  而不是 对状态变量的直接检查。
8、数据量的限制  如定义一个具有100个元素的数组的时候,实质上向外部透露一些它们并不需要的知道的信息,这样会增加理解系统的复杂度。应该用 常量 MAX_LENGTH 来隐藏。

原文出处:http://www.cnblogs.com/zhuojun/p/4035875.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值