深圳中泰代孕公司

  • 有没人愿意代孕的_方山做代妈的危害_为什么怀二
  • 二孩政策代孕_有没人愿意代孕的_上怀后怀孕的几
  • 有没人愿意代孕的_信阳代孕公司_中期唐氏筛查什
  • 合法代孕中介_有没人愿意代孕的_为什么宫缩痛不
深圳助孕品质_深圳专业代孕包成功_设计模式篇—
来源:http://www.eupoo.com  日期:2020-07-06
“三从四德”之:“三从”中国古代的妇女都要遵循“三从四德”的道德规范,那什么是三从呢?“三从”是指:未嫁从父、既嫁从夫、夫死从子。也就是说,一位女性在结婚之前要听从于父亲,结婚之后要听

深圳代怀孕公司排名

从于丈夫,丈夫死了后要听从于儿子。我们这里用程序来实现一下“三从”,首先设计类图如下:类图非常简单,不需要过多解释,直接看代码清单。女性接口IWomen:古代妇女Women:核心类Ihandler:具体处理请求的三个类Father、Husband、Son:场景类Client:首先通过随机方法产生了5个古代妇女的对象,然后看她们是如何就逛街这件事去请示的。运行结果如下所示:代码存在的问题“三从四德”的旧社会规范已经完整地表现出来了,但我们回头来看下这些代码,不难发现,有一下几个问题:1.职责界定不清晰对女儿提出的要求,应该在父亲类中做出决定,父亲有责任处理女儿的请示,因此Father类应该是知道女儿的请求自己处理,而不是在Client类中进行组装出来,也就是说原本应该是父亲这个类做的事情抛给了其他类进行处理,不应该是这样的。2.代码臃

深圳代生孩子费用

肿我们在Client类中写了if...else...的判断条件,而且能随着能处理该类型的请示人员越多,判断就越多。3.耦合过重我们要根据Women的type来决定使用Ihandler的哪个实现类来处理请求。如果我们要增加IHandler的实现类,那就深圳助孕品质_深圳专业代孕包成功必须要同时修改Client。4.异常情况欠考虑妻子只能向丈夫请示吗?如果妻子向自己的父亲深圳助孕品质_深圳专业代孕包成功请示了,父亲应该做什么处理?我们的代码没有这个处理,不符合逻辑。那怎么解决这些问题呢?首先,分析下需求,女性提出一个请示,必然要得到一个答复,而且这个答复是唯一的,不能父亲处理完后,丈夫又处理了一遍。然后,重新设计,我们先画出一个请示的流程图:父亲、丈夫、儿子每个节点有两个选择:要么处理请求,做出回应,要么把请求转发到后续环节。最后,我们按这个思路实

深圳富豪代孕生子

现这个功能,修改类图如下:从类图上看,三个子类Father、Husband、Son只要实现构造函数和父类中的抽象方法response就可以了,具体由谁处理女性提出的请求,都已经转移到了Handler抽象类中,我们看Handler怎么实现:接下来定义我们具体处理逻辑的子类,每个子类只要实现两个职责:一是定义自己能够处理的级别,二是对请求做出响应。以下是三个子类的代码:最后,看下场景类是怎么描述这一个礼节的:在Client中设置请求的传递顺序,先向父亲请示,不是父亲应该解决的问题,则由父亲传递到丈夫类解决,依次类推,最终的结果必然有一个返回,运行结果如下所示:结果运行符合预期,业务调用类Client也不用去做判断到底是需要谁去处理,而且Handler抽象类的子类可以继续增加下去,只需要扩展传递链而已,这就是我们这篇文章要谈论的主题——责任链模式。责任链模式责任链模式的定义是:使多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系,讲这些对象连城一条链,并沿着这条链传递该请求,知道有对象处理它为止。责任链模式的通用类图如下:首先看抽象处理者的代码:其中的Level、Request、Response是自己项目中定义的一些类,例子如下:抽象的处理者Handler实现三个职责:一是定义一个请求的处理方法handleMessage,唯一对外开放的方法;二是定义一个链的编排方法setNextHandler,设置下一个处理者;三是定义了具体的请求者必须实现的两个方法:定义自己能够处理的级别getHandlerLevel和具体的处理任务方法echo。我们定义三个具体的处理者,以便可以形成一个链,代码如下:在场深圳助孕品质_深圳专业代孕包成功景类或高层模块中对链进行组装,并传递请求,返回结果,代码如下:在实际应用中,一般会有一个封装类对责任链模式进行封装,也就是替代Client类,直接返回链中的第一个处理者,具体链的设

深圳代生小孩子

置不需要高层次模深圳助孕品质_深圳专业代孕包成功块关心,这样,更简化了高层次模块的调用。责任链模式的应用责任链模式非常显著的优点是将请求和处理分开,两者解耦,提高系统的灵活性。责任链模式有两个非常显著的缺点:一是性能问题,每个请求都是从链头遍历到链尾,特别是链比较长的时候,性能是一个非常大的问题;二是调试很不方便。所以,链中节点数量需要控制,避免出现超长链的情况,一般的做法是在Handler中设置一个最大节点数量,在setNextHandler方法中判断是否已经超过阈值,超过则不允许该链建立,避免无意识地破坏系统性能。点个关注吧!进入我的主页获取更多干货~