首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

『设计模式』我能进来坐坐吗?--访问者模式

访问者模式 访问者( Visitor )模式的定义: 将作用于某种数据结构中的各元素的操作分离出来封装成独立的类,使其在不改变数据结构的前提下可以添加作用于这些元素的新的操作, 为数据结构中的每个元素提供多种访问方式...它将对数据的操作与数据结构进行分离,是行为类模式中最复杂的一种模式。 优点: ①扩展性好。能够在不修改对象结构中的元素的情况下,为对象结构中的元素添加新的功能。 ②复用性好。...可以通过访问者来定义整个对象结构通用的功能,从而提高系统的复用程度。 ③灵活性好。访问者模式将数据结构与作用于结构上的操作解嘱, 使得操作集合可相对自由地 演化而不影响系统的数据结构。...在访问者模式中,每增加一个新的元素类,都要在每一个具体访问者类中增加相应的具体操作, 这违背了“开闭原则” 。 ②破坏封装。访问者模式中具体元素对访问者公布细节, 这破坏了对象的封装性。...实现 模式的结构 访问者模式包含以下主要角色。

22510

科研也完了,AI暴虐170位人类专家!Nature子刊:大模型精准预测研究结果,准确率高达81%

为了满足对大模型的测试需要,针对上述难题,研究人员开发的BrainBench基准总共纳入了200个由人类专家精心设计的、2023年发表在《神经科学杂志》上的测试案例,以及额外100个由GPT-4生成的测试案例...确保你的修改保持句子间的一致性和正确的语法,修改不应该与摘要的整体意义相矛盾或混淆。 避免进行不需要理解科学概念的琐碎修改,修改应该反映出对主题的深刻理解。...每一个重要点都应该在你的修改中得到体现。...参数较小的模型,比如70亿参数的Llama2-7B和Mistral-7B,表现得与更大的模型相当,其性能也比尺寸更小的模型要好,小模型可能缺乏捕捉关键数据模式的能力;而为聊天或指令优化的模型表现得比基准模型要差...对于大型语言模型来说,BrainBench的数据是新的,没见过的。

5800
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    容器设计模式

    容器的作用和职责应该满足单一职责的原则,按照领域模型设计的原则来进行设计,这样容易理解,也容易测试、更新和部署。 我对设计模式的看法一直很明确:具体问题具体分析,脱离了实际的辩论都是虾扯蛋。...所以从“解耦”和“复用”的设计原则出发,Kubernetes通过增加一个虚拟层即POD,给系统设计带来了极大的灵活性,同时也产生了多种设计模式。...这样就明了多了,我突然想到了 ORM 框架,也是这么个意思。 ---- Ambassadors proxy and represent 听说过 “代理模式” 吗?...例如:我想给一个web server加上认证逻辑或者SSL,但是我又不想改动原来的web server或者改动比较困难,我可以在其所在pod内再部署一个proxy,让这个proxy来处理这些认证的逻辑,...---- Adapters normalize and present 了解过 “适配器模式” 吗?

    37020

    Adobe 认证证书怎么考

    如果你年纪足够大,那么就应该记得互联网的早期,Adobe最著名的产品是Acrobat,通过它人们可以阅读pdf或其文档文件。...此外,不可否认的是该公司拥有一个高度可扩展的商业模式,由于其稳固的品牌和行业认可度,我们预计其收入增长将继续超过其SG&A和研发费用的增长,为利润率扩张提供了充足的空间。...,暂时没有回复,目前知道的应该是涉及产品法规问题。...路径只有一个那就是通过Adobe原厂认证,已达到快速检验自身水平的目的。...考核方向及成绩分析示例当然,有人可能会说:设计师证在设计行业并没有那么重要,但事实真的如此吗?毕竟这个社会上不乏吃不到葡萄说葡萄酸的人。那么作为我,有两种情况,一种是我吃到葡萄了,一种是我也没吃到。

    96030

    最近,我对前端代码复用的一点思考

    有人会说 比如 taro 或者 uni-app不就解决了一套代码解决了多端问题吗?但是实际上,这些框架也是通过一套代码生成多端代码,而不是真正的逻辑复用。...我们也许需要糅合一些设计模式,比如说,我们可以使用观察者模式,将一些通用的业务逻辑进行封装,然后在不同的页面中引用这些通用的业务逻辑。...我们也需要遵循一些设计原则,我觉得可能最重要的是单一职责原则,我们需要将业务逻辑进行抽象,然后将这些抽象的业务逻辑进行封装,然后在不同的页面中引用这些抽象的业务逻辑。...这个里面可能设计到的业务逻辑有:企业认证个人用户实名认证法人授权员工管理权限审批企业信息管理联系人管理印章管理等等,就不写下去了。...}}export default EnterpriseUserManager;然后,我在我的业务页面中引用这个M层,比如说,我在我的企业认证流中的页面引入这个M层,他的小程序vue,和h5 react

    64510

    你与其他程序员可能常犯的 6 个错误

    通过这么广泛的任务,我学到了很多不同的技能,并有很多想法想跟大家分享一下。也许你的观点是不同的,也许你学到了一些其他的东西想在这里跟我们分享一下。我期待着听到您的意见和见解。   ...这让我感到非常惊奇,因为我是在问一个非常聪明的人,一个开发人员。我们是不是能够很容易地学习新的东西,一些新的理念,模式和架构?我们不应该不断的学习新的事务,了解最新的消息吗?   ...我看到的最大的失败就是实现,比如,一开始的身份认证。这不是我们应用中最重要的功能吗?我们不应该考虑安全吗?不,根本不是。   我们应该尽可能的缩小范围。我们应该提供一个MVP展示概念验证。...我们应该提供基本的商业规则,以及应用程序的核心功能,而不是考虑性能、分页、安全认证以及扩展等等。这是非常简单的,至少在一开始的时候是这样的。   如何实现呢?我觉得跟客户的沟通是至关重要的。...他们是真正的架构师,他们会模块化他们的应用程序、使用单独的库来提取组件、按照模式设计有效的流程。只是他们不会编码。他们把太多的时间花费在低效的算法、不建议使用的函数、过时的库。

    531100

    程序员过关斩将--领导说我的类的职责不单一

    “类的职责单一化很容易吗? 首先,我要提醒一下看到这篇文章的同学,我认为保证类(一定是类吗?)...单纯从概念上讲呢,单一职责原则可算是最简单易懂的一种原则了,就像设计模式中的单例模式一样无趣,是这样吗? 谁的职责 说实话,看过不少讲解“职责单一”设计原则的文章,都是以类来阐述。...其实我觉得不对,职责单一设计原则本质上是软件设计原则的一种思想,具有指导意义。至于谁的职责需要单一,是一个伪命题,不仅仅指面向对象编程中的类,系统的模块,甚至于微服务在架构设计中也应该遵循此规则。...无论是类,还是模块,还是服务,还是系统,我认为设计的时候都要保证“单一职责”。...说一说,我自己的看法: 站在用户信息的角度来说,这个类代表的是用户信息,它就是单一的,这也是大多数人的看法,有错吗?其实没错。因为在当前场景下,它确实是这样。

    26710

    OAuth2.0密码模式废了,停止使用吧

    OAuth2是一个授权框架 OAuth2本身是一个授权框架,它并没有对用户的认证流程做出定义。它的初衷是解决不同服务之间的授权访问问题,它无法明确你认为正确的接收者就是那个接收者。...目前只有OAuth2的扩展协议OIDC 1.0才具有用户认证功能。 密码模式更像一种兼容性的协议 密码模式诞生的时候,像React、Vue这种单页应用还没有兴起,甚至连框架都还没有呢。...OAuth2诞生之时为了让用户从传统思维中慢慢转变过来就设计了这种模式。 ❝这种模式好用,但它打破了委托授权的模式,降低了OAuth2的安全性。...但是它真的可信吗?没人敢打包票。 对于安全而言,这扩大了密码暴露的面积,密码总是被提示小心保管避免泄露,这妥妥是一种反密码模式。用户密码可能有意无意就在这个链路中泄露出去了。...那如果我还是需要进行用户认证呢?目前只有OIDC 1.0[3]可选了。所以各位同学,未来的方向应该明确了吧,密码模式是应该被放弃的时候了。

    72730

    深入理解JWT的使用场景和优劣

    经过前面两篇文章《JSON Web Token - 在Web应用间安全地传递信息》《八幅漫画理解使用JSON Web Token设计单点登录系统》的科普,相信大家应该已经知道了 JWT 协议是什么了。...jwt 唯一存储在服务端的只有一个 secret,个人认为这个 secret 应该设计成和用户相关的属性,而不是一个所有用户公用的统一值。...jwt 和 oauth2 都可以用于 restful 的认证,就我个人的使用经验来看,spring security oauth2 可以很好的使用多种认证模式:client 模式,password 模式...,implicit 模式(authorization code 模式不算单纯的接口认证模式),也可以很方便的实现权限控制,什么样的 api 需要什么样的权限,什么样的资源需要什么样的 scope…而 jwt...我只用它来实现过身份认证,功能较为单一(可能是我没发现更多用法)。

    3.3K80

    未曾深入源码,算不得一枚码农

    、万能的,应该不需要改;另外即使我改了源码,怎么样让我的改动生效了?...的源码看了个大概,有了shiro源码系列博文,还差一篇认证与授权(应该很快就能面世),shiro源码系列就封笔了。...2.我为什么读源码 很多人一定和我一样的感受:源码在工作中有用吗?用处大吗?很长一段时间内我也有这样的疑问,认为哪些有事没事扯源码的人就是在装,只是为了提高他们的逼格而已。 那为什么我还要读源码呢?...设计模式的了解 优秀的框架、技术从不乏设计模式;jdk源码中就应用了很多设计模式,比如IO流中的适配器模式与装饰模式、GUI的观察者模式、集合中的迭代器模式等等;spring源码中也是用到了大量的设计模式...推荐书籍:《Head First Design Patterns》(中文版:《Head First 设计模式》)、《Java与模式》; 另外我比较推荐的一种学习设计模式的方式是读别人博客:java_my_life

    42730

    如何学会阅读源码,推荐收藏!

    、万能的,应该不需要改;另外即使我改了源码,怎么样让我的改动生效了?...的源码看了个大概,有了shiro源码系列博文,还差一篇认证与授权(应该很快就能面世),shiro源码系列就封笔了。...我为什么读源码 很多人一定和我一样的感受:源码在工作中有用吗?用处大吗?很长一段时间内我也有这样的疑问,认为哪些有事没事扯源码的人就是在装,只是为了提高他们的逼格而已。 那为什么我还要读源码呢?...设计模式的了解 优秀的框架、技术从不乏设计模式;jdk源码中就应用了很多设计模式,比如IO流中的适配器模式与装饰模式、GUI的观察者模式、集合中的迭代器模式等等;spring源码中也是用到了大量的设计模式...推荐书籍:《Head First Design Patterns》(中文版:《Head First 设计模式》)、《Java与模式》; 另外我比较推荐的一种学习设计模式的方式是读别人博客:java_my_life

    8763129

    Android中级面筋:开发2年的程序员如何短期突击面试?跟着这几步去准备,大厂也不远了

    --> 问的应该是层级问题(上家公司的UI框架应该是参考了Window管理模型的) 38. Int可以作为线程安全的单位吗?AtomicInteger实现原理? --> CAS+版本记录 39....Intent的使用中有遇到什么问题吗?如何解决大图传输问题? --> 传输上限、类型解析,Ashmem 40. 双向认证的流程? --> 其实就是https加了个验证client端的步骤 41....启动模式的应用场景? 42. 熟悉的设计模式? 43. 异常设计?...--> okhttp的亮点在于其拦截器,提了下域名收敛优化,自定义拦截器实现了日志打印,拦截器分为响应前和响应后两大部分,注意一下应该不会有问题。最近帮其他人解决了一个双认证的final问题。...部分面试题知识点总结 1.性能优化相关例子: Android性能优化之UI卡顿优化实例分析 2.设计模式相关:利用设计模式封装网络请求框架 , Retrofit中的设计模式 3.计算机网络https相关

    70600

    RPC框架设计的安全性考量

    caller每次发起业务请求时,先去发一条认证请求到授权平台:“hello,我能调用这个接口吗?” 只有授权平台返回:“sure”,才继续把业务请求发到provider。...调用方 -> 提供方++ : 真实业务请求 提供方 --> 调用方-- : 返回结果 @enduml 这种设计没问题,整个认证过程对RPC使用者透明。...HMAC来做认证,服务提供方是使用 “公钥” 验证服务调用方的签名串。事先要生成公私钥。 6 服务发现也有安全问题? 解决了调用方之间的安全认证问题。还有其它安全问题吗?...Oauth2授权 有单独的授权服务,四种模式。...请问服务提供方对服务调用方的授权认证后,已认证的状态应该存在服务提供端本地吧,那服务端集群中各个节点之间怎么共享同一个服务调用方应用的认证状态呢?

    76920

    Kerberos原理--经典对话

    有一个认证服务知道所有的口令,用户的和服务的。认证服务把口令保存在一个单独的中央数据库中。 Euripides: 这个认证服务有一个名字吗? Athena: 我还没想好。你想一个吧?...你的系统只需要我认证一次。以后,Charon会给我服务的票而我需要关心。天衣无缝,天衣无缝。但服务票的设计还是有一些困扰我。服务票是可重用的。...我们现在的认证模式基于以下的测试:服务能对票解密吗?票在有效期以内吗?票中的名字和地址与申请者的名字和地址匹配吗?这些测试证明了什么?...假设我们设计了验证器只可以被用一次。这可以吗? Athena: 好,也许。我样来想一下,客户端程序生成验证器,然后把它和票一起送给服务。真的票和验证器比你拷贝的要先到。...如果验证器还没失效,所有其它的检查都通过了,那么服务器就认为你通过了认证。假设我通过网络拷贝了一份验证器和票,我必须改变我的工作站的网络地址和我的用户名,这差不多要用几分钟。

    2K30

    国家正式公示新职业:商务数据分析师

    例如:零售行业强调人货场的经典模式以及这个模式如何实现关系映射反演;而制造业则没有这些过程。 产业数字化,强调了实践本身,是利用技术应用到具体产业、行业、职能中的结果,产生实际具体价值,必须重视。...作为商务数据分析师要考虑的是:在这个立场上,能够已经应该管理到什么幅度的信息表达,存放传输,内容产生。...那么,问题来了:老师,我之前考的各种认证说有什么职业认证是怎么认证的? 回答:不知道。 从精确的意义下,你此前不可能获得有国家认证的符合以上商务数据分析师内涵的职业认证。...例如:BI 佐罗可以评价你通过了认证。 举这些例子,是想告诉你,这个领域没有统一的标准,不管你拿到了什么认证,都不是事实认证,事实认证并未形成。...那么应该怎么选呢? BI 佐罗从不选择工具,只选择某种场景和模式如何被最高效的实现。也就是: 你会采集,清洗数据吗?用什么工具?学会了吗? 你会挖掘,分析,发现问题吗?用什么工具?学会了吗?

    1.4K20

    常见问题:复制和副本集

    • 复制是否可以通过Internet和WAN连接进行? • MongoDB可以通过“noisy”连接进行复制吗?...• 我可以重命名副本集吗? 本文档回答了有关MongoDB中复制的常见问题。...也可以看看 部署异地冗余的副本集 MongoDB可以通过“noisy”连接进行复制吗? 是的,但连接失败和非常明显的延迟情况下不行。 副本集的成员将尝试重新连接到该组的其他成员以应对网络波动。...我可以重命名副本集吗? 不可以。 您可以使用“ 从MongoDB备份还原副本集”教程中所述的备份和还原过程 来创建具有所需名称的新副本集。可能需要停机时间以确保原始副本集和新副本集之间的奇偶校验。...译者 钟秋 BBD技术经理,资深架构师,MongoDB中文社区联席主席 有丰富项目中应用MongoDB经验,熟悉MongoDB相互模式设计及性能优化,熟悉大数据相关技术和互联网及大数据应用架构设计

    60660

    我是怎么读源码的,授之以渔

    读源码的经历   刚参加工作那会,没想过去读源码,更没想过去改框架的源码;总想着别人的框架应该是完美的、万能的,应该不需要改;另外即使我改了源码,怎么样让我的改动生效了?...的源码看了个大概,有了shiro源码系列博文,还差一篇认证与授权(应该很快就能面世),shiro源码系列就封笔了。...我为什么读源码   很多人一定和我一样的感受:源码在工作中有用吗? 用处大吗?很长一段时间内我也有这样的疑问,认为哪些有事没事扯源码的人就是在装,只是为了提高他们的逼格而已。   ...设计模式的了解     优秀的框架、技术从不乏设计模式;jdk源码中就应用了很多设计模式,比如IO流中的适配器模式与装饰模式、GUI的观察者模式、集合中的迭代器模式等等;spring源码中也是用到了大量的设计模式...、代理模式、迭代器模式、观察者模式、命令模式     另外我比较推荐的一种学习设计模式的方式是读别人博客:java_my_life,刘伟技术博客,chenssy的设计模式;     设计模式之于源码,就好比逛街购物之于女人

    66120

    收藏备用 | 关于OAuth2的一些常见问题总结

    A:相关定义参见rfc6749#section-2.1, 根据OAuth2客户端自身是否有能力维护客户端凭据(client credentials)的私密性,是否能安全地通过授权服务器对客户端的资质进行认证将...大部分的后端数据服务都应该被注册为机密客户端;无法保障自身凭据安全的都应该被注册为公共客户端,公共客户端是没有client_sercet的,直接注册到OAuth2授权服务器的执行客户端,不通过后端应用进行访问令牌中继的都是公共客户端...❝Q:OAuth2 的access_token和refresh_token应该直接返回给前端吗?...关于OAuth2客户端认证的细节可以参考OAuth2客户端认证过滤器详解。 ❝Q:OAuth2密码模式为什么被废除了?...OAuth2诞生之初为了让用户从传统思维中慢慢转变过来就设计了这种模式。 它打破了委托授权的模式,降低了OAuth2的安全性。 更多的细节请参考我往期的相关文章。

    66520

    一篇文章教你分辨领域服务与应用服务

    横切关注点 在应用服务中,我们往往需要和如下逻辑进行协作: 消息验证 错误处理 监控 事务 认证与授权 在《领域驱动设计模式、原理与实践》一书中,将以上内容视为基础架构问题。...从设计模式的角度讲,应用层的应用服务就是一个Facade:对外,它提供代表Use Case的整体应用;对内,它负责整合领域层的领域逻辑与其他基础架构层面的横切关注点。...那么,这个服务应该是应用服务,还是领域服务? 《领域驱动设计模式、原理与实践》一书将这种封装认为是与领域的交互。...该书作者给出了自己的一个判断标准: 决定一系列交互是否属于领域的一种方式是提出“这种情况总是会出现吗?”或者“这些步骤无法分开吗?”的问题。...分布式通信 微服务缩小了架构设计上的物理边界,使得分布式通信变得更为常见。对于分布式通信的实现毫无疑问属于基础设置层,但在很多情况下,在当前领域中,需要通过分布式通信去访问别的领域提供的服务接口。

    4.7K80

    云计算与企业自身安全策略结合到一起

    SAS70标准已经不适用于高速发展的云服务,而且它最初的设计目的是监督企业遵守财务报告规则。...通过测试确保云服务供应商有能力满足合同中的约定。 企业用户能真正访问数据吗?如果数据本身经过加密,企业用户是否有权访问加密密钥?企业一定要通过测试确保自己对数据拥有访问能力。 资源访问如何处理?...通过云服务提供商的API文档,确定其API安全性;通过安全的渠道保护传输的安全,如SSL/TLS或IPSec;进行身份验证与授权,可以通过提问一些问题来验证,如:API可以管理用户名和密码的加密吗?...可以管理双因素身份认证属性吗?可以创建并维护细粒度的授权策略吗?内部身份管理系统和属性之间具有连续性吗?以及内部身份管理系统和云提供商提供的API扩展属性之间具有连续性吗?...如果企业期望基于云的应用更多地通过共有Wi-Fi热点访问,SSL加密应该能够保护整个信息流。 使用公共密钥存储服务或者技术时,要确保密钥永远不会用应用代码或者数据存储在云端。

    1.2K60
    领券