可以改变模式的理念——1)

        对于初学者来说,我们碰到问题的时候常常就直觉的地用计算机能够理解的逻辑来描述和表达待解决的问题及其具体的求解过程,这其实是用计算机的方式去思考比如计算机这个程序,先要求输入两个数和运算符号然后根据运算符号判断如何运算,得到结果,这本身是没有错的,但这样的话的思维却使得我们只为满足实现当前的需求,程序不容易维护,不容易扩展,更不容易复用。从而达不到高质量的代码的要求。

        面 向 对 象 就好比如活版印刷一样,我们将所用到的  “字”  (对象)扩印(封装)在各个个体(类)内。需求变更时,要改我们也只需更改要改的  “字”  (对象),此乃可复用;需求扩展时,我们只需要另刻 “字” (对象)加入即可,这是可扩展性:而且对于字(对象)的排版(使用),我们可以横着放,也可以竖着放,这便是灵活性好。

       学习面向对象的分析设计思想后,就要开始考虑通过封装、继承、多态把程序的耦合度降低。

       编程有一原则,降低代码冗余度,便是尽可能的防止代码的重复出现。那要如何防止这类事情的出现呢,于是在这里便要借助于“封装”的特征了!

        假如我们将可重复的代码提取出来,统一写在一个外置的lava类中,当我们需要用到这个方法时,只需要先实例化,然后调用这个方法便可达到同样的效果。

         这样,我们便可将业务逻辑和界面逻辑分离,让他们之间的耦合度下降。只有分离开,才可以达到容易维护或扩展优势。

       藕断丝连,这个词完美的解释了程序逻辑之间的依赖关系,一直在说降低耦合度,对于新手来说,这句话你们不陌生,但不一定能理解,那么下面举个例子来解释一下降低耦合度的重要性。

      如果现在公司要求你为公司的薪资管理系统做维护,原来的只有技术人员(月薪),市场销售人员(底薪+提成),经理(年薪+股份)三种运算算法,现在要增加工作人员(时薪)的算法。

       A,高耦合。在这种情况下,公司就必须把包含原三种算法的运算给你,让你修改,这时你如果心中小算盘一打,‘TMD,公司给我的工资这么低,我真是郁闷,这下有机会了吧。’于是,你除了增加了兼职算法以外,在技术人员(月薪)算法中写了一句

if(员工是小菜){

salary = salary * 1.1;

}

那就意味着,你的月薪每月都会增加10%(小心被抓去坐牢),本来是让你添加一个功能,现在却使得原有的运行良好的功能代码产生了变化,这个风险太大了。

      B,低耦合,高内聚

       老板:小菜,来给这个薪资管理系统追加个兼职算法(就防着你这一手了)。

       小菜:好的,老板(一副苦脸样:本就工资低,还一直拿我当救火队员,为啥就不给我个改代码的机会呀!)。

       老板:(嘿嘿,防的就是你们这些技术人员来这一手!)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值