刚才看了下faced模式,其实早些时候接触过faced模式,记住它还是因为他的发音。好,闲话少说,下面咱们开始~疯狂的搞起。
faced模式具体大家可以google一下。
题目说的是函数封装和faced模式,其实主要想说的是函数封装。之所以提到faced模式,是因为感觉它与函数封装类似。初学Java的人会认为封装是对数据的封装。这本身没有错,可是问题是封装不止简单的对数据封装。还有函数的封装。
举个例子还说,你要写一个接口给你的团队的其他人用。你会怎么写?是要都告诉他怎么用吗?加入依赖条件是:x y 。
var result_of_handle_a = handle_a_function(a); var result_of_handle_b = handle_b_function(b); var result = handle_a_and_b(result_of_handle_a,result_of_handle_b);
ok,这样做可以,下面我们讨论一下用这个接口的人做了什么事:
1看到handle_a_and_b_function ,知道要处理a的结果和b的结果做参数。
2.阅读handle_a_function ,知道这个处理a函数是干嘛的。
3.阅读handle_b_function ,知道这个处理b函数是干嘛的。
4.最后调用函数得到结果。
你看下每个用你接口的人都得做一次以上的步骤。如果这个函数被调用的多那将会是一个很大的时间量。所以我们要做封装。将对a和b的处理放在对handle_a_and_b这个函数中,先说函数。
function handle_a_and_b(a,b) { var result_a = hand_a_function(a); var result_b = handle_b_function(b); next ... return }
也许你会发现这根本就没有少多少代码,但是从使用你接口的人看看他要做什么,他只要把a,b传进去,至于里面怎么处理,怎么给你构造接口,那根本不是你管辖的事,而且这样会大大的节省别人的时间。如果你觉得不爽,那你试想:你用别人写的这样的接口,受伤了吧。
这就是对函数的封装,我理解为faced模式,这样的好处,别人不需要知道你的内部实现,直接调用就可以。如果他真想知道的话,那他就自己跟进去看就好了。但是你的接口的主要目的是给别人用,而不是给别人看。这个过程是不是简单的多呢。
相关推荐
Head First 设计模式 (七) 适配器模式(Adapter pattern) C++实现
Python-faced使用深度学习的近实时CPU人脸检测
faced是一个用于人脸识别的轻量级库,包括眼睛,鼻子和嘴巴等功能。 它需要opencv。 脸部为黑色,左眼和右眼分别为红色和绿色,鼻子为白色,嘴部为蓝色。 依存关系 OpenCV 请确保您有v2.4.x安装在你的机器上。 ...
面临的流行病和残疾挑战以及技术的作用_Pandemic and disability Challenges faced and role of technology.pdf
Convulotional neural network for detecting human Face in image with trained module
本文档在中国知网下载,要么引用次数最多,要么最新,保证精品,至少为你节约3RMB。格式为CAJ或者KDH需要专业阅读器打开
基于python的人脸检测系统源代码
人脸识别,识别人脸技术Demo
各国反补贴措施数量指标2000-2020 具体指标: Indicator 指标 CVD final measures in force (cumulated) CVD最终措施(累计)(数量) CVD measures initiated 发 起的CVD措施(数量) ... faced b
理论部分深刻剖析了面向对象分析与设计 (OOAD)的概念和方法。应用部分连续列出了5个不同类型、不同领域的应用,描述如何从初始阶段到移交阶段将OOAD理论和方法应用到项目中。应用部分所涉及的领域包括系统架构、数据...
•支持的协议和封装协议 •安全•简介 •总则 •以 CGI 模式安装时 •以 Apache 模块安装时 •文件系统安全 •数据库安全 •错误报告 •使用 Register Globals •用户提交的数据 •魔术引号 •隐藏 PHP •保持更新 ...
本设计研究的是基于J2EE的高校成绩管理系统的设计与实现。本系统是基于J2EE开发的成绩管理系统,弥补了人工管理的不足,提高了一定的效率。主要功能包括教师对学生成绩的记录,生成总评成绩,成绩单的提交。学生查询...
pandemic control and issues faced
Furthermore, we discuss how Solr can be used for real-time analytics and tackle problems faced during its implementation in e-commerce search. We then dive deep into the spatial features such as ...
Unity Shader双面材质,使用Cull Off方法,更多关于双面材质的问题可参考测博客https://blog.csdn.net/qq_43505432/article/details/109735723
Actually one of the most critical and badly tuned loops I have been faced with is probably the learning loop between industry and the academic world Without pretentiousness my intention when starting ...
数据中心的研究综述,包括了最近几年的最新研究成果。Data centers are growing exponentially ...ongoing research in the broad domain of DCNs and highlights the challenges faced by the DCN research community.
基于kubernetes的容器云平台设计与实践-邓德源.pdf 基于Kubernetes的私有容器云建设实践-易宝支付.pdf 基于Kubernetes构建AI业务生态.pdf 李波:小米生态云应用引擎实践.pdf 魅族容器云平台基于 k8s 的自动化运维...
In this indispensable, fully updated guide, Ross Anderson reveals how to build systems that stay dependable whether faced with error or malice. Here?s straight talk on critical topics such as ...