成为一个优秀架构师,你必须了解的 30 条设计原则菜鸟教程_架构入门教程

众所周知,架构师的角色,更偏向于策划、而非指挥,塑造、而非支配,其存在的意义,在于引导大家讨论、而非自己主宰一切。但是,具体应该如何执行呢?本文作者整理了 30 个公认的架构原则,来帮助大家解决此问题。也许有的原则,你从未听说,但你看完就能快速学会。相信你学会了,工作起来也会事半功倍,或许还可帮你避免很多无用的加班!本文作者叫 Srinath Perera,

成为一个优秀架构师,你必须了解的 30 条设计原则菜鸟教程

众所周知,架构师的角色,更偏向于策划、而非指挥,塑造、而非支配,其存在的意义,在于引导大家讨论、而非自己主宰一切。

成为一个优秀架构师,你必须了解的 30 条设计原则菜鸟教程_架构入门教程

但是,具体应该如何执行呢?本文作者整理了 30 个公认的架构原则,来帮助大家解决此问题。也许有的原则,你从未听说,但你看完就能快速学会。

相信你学会了,工作起来也会事半功倍,或许还可帮你避免很多无用的加班!

本文作者叫 Srinath Perera,是一位计算机科学家、软件架构师、作家。他是 Apache 的核心成员,拥有 15 年分布式系统编程经验,设计了 Apache Axis2 以及 WSO2 流处理器。

在 WSO2,我参与架构评审的时间已长达八年之久。WSO2 的产品非常丰富,比如 WSO2 ESB 、WSO2 API Manager 以及 WSO2 SP 都人尽皆知。在过去八年中,我们对许多产品和功能进行了讨论、设计、改进和重新设计。

我们在设计软件的过程中,把握的一个关键点是:软件架构并非由架构师负责设计。我们的架构不是由架构师制定,然后交给其他人来实施。

相反,架构的设计任务由真正编写代码的团队负责。架构师负责对工程师设计的架构进行修复、完善和改进。我们的架构团队是指导员和把关人,而非独裁者。

在短期内,由一位架构师来制定架构的确既快捷又实惠。但是,从长远来看,我们会组建一个团队,让他们自己不断思考、改善架构,并从他们的错误中来提升自己。

当我们专注于团队时,他们自然会随着时间的推移而变得更好。架构团队的首要任务是:尽可能保证架构容易执行。此外,架构评审也存在缺陷。

就像 Paul (@pzfreo)描述的架构评审那样:架构师参与进来,听一会,发表一点评论然后就走了。作为一名架构师,你对架构发表自己的看法和意见无可厚非。但是,如果你不够投入和细心,你的意见可能会让团队感到困惑,团队就无法确定正确的做法到底是什么。

接下来我会将 30 个架构原则一一列出,其中一些原则是众所周知的,而有些则源于我的个人经验和心血。

基本原则

  • 原则1:KISS (Keep it simple,sutpid) 和保持每件事情都尽可能的简单,用最简单的解决方案来解决问题。
  • 原则 2:YAGNI(你不需要它)原则 ,只在需要时构建。
  • 原则 3:先学会爬,然后再学会走,最后学会跑。换句话说,先保证能够正常运行,然后优化它使其更好,最后逐渐让它变得完美。使用迭代开发,采用敏捷开发模式。为每个功能制定一个开发周期(最多 2 周),然后不断迭代。
  • 原则 4:自动化测试是构建稳定、高质量产品的唯一方法。通过自动化测试提升创造力,所有一切都可以自动化!在设计时应当好好考虑自动化。
  • 原则 5:注重投资回报率(ROI)并将最多的注意力放在最重要的地方。
  • 原则 6:了解用户并相应地平衡资源。大多数产品都有数千个最终用户,大致需要 20 个开发人员和 100 个 DevOps 人员。不要花费数月的时间来构建一个不太可能使用 DevOps 的用户界面(他们更喜欢脚本)。这是原则 5 的特例。
  • 原则 7:功能的设计和测试尽可能独立。如果在设计时考虑到这一点,长远来看,它将省去很多麻烦,否则只有一切构建完成时你才可以开始测试整个系统。此外,遵循这个原则,版本发布也会更加顺利。
  • 原则 8:警惕搜索引擎中花里胡哨的架构方案。我们天生都喜欢令人夺目的设计。如果你按捺不住, 就可能把太多根本不需要的功能和解决方案引入到你的架构中。

功能选择

  • 原则 9:想要准确知道用户如何使用我们的产品是很难的。所以我们要推行 MVP(最小可行产品)。该理念的核心在于:先制定一些用例,完成用例所涉及的相关功能,立即发布产品,然后根据反馈和经验对产品进行优化。
  • 原则 10:尽可能减少功能,如有疑问则将其删除。许多功能可能从未使用,你只需为其留一个扩展接口即可。
  • 原则 11:听取客户的意见,看他们想要什么功能。
  • 原则 12:当客户要求的功能影响到其他模块时,要勇于和客户辩论。从大局出发,尝试找到另一种方法来处理问题。就像 Fords 所说的那样“每当我问顾客需要什么的时候,他们总是会说需要跑得更快的马”。请记住,你才是专家。你应该主导一切,做出正确和专业的决定。虽然用户可能当时有些疑惑,但最终他们会感谢你的。

服务端设计和并发

  • 原则 13:要知道一个 Server 是如何运行的,从硬件到操作系统,直到编程语言。优化 IO 调用的数量是你通往较好架构的首选之路。
  • 原则 14:遵循 Amdhal 的同步定律。线程之间共享的可变数据会降低程序速度。如果可以,请使用并发数据结构,并且仅在必要时使用同步。尽可能少地使用锁。如果你打算在线程锁期间阻塞,请确保自己足够了解具体细节,因为这里存在极大的隐患。
  • 原则 15:如果你的设计是基于事件驱动的非阻塞架构,那就不要阻塞线程或者在线程中执行 IO 操作。一旦这样做,系统将慢如蜗牛。

分布式系统

  • 原则 16:无状态系统具有良好的扩展性。我们要尽可能了解和使用无分享架构。
  • 原则 17:除非你能够掌控客户端和服务器的所有代码,否则消息传递失败的情况在所难免。尽量减少你的系统依赖的因素(例如使用原则 18 )。
  • 原则 18:尽可能实施幂等操作。这样它就很容易恢复,你至少可以保证交付没问题。
  • 原则 19:了解 CAP 定理。可扩展的事务(分布式事务)是很难的 。尽可能使用补偿,基于 RDBMS 的事务很难扩展。
  • 原则 20:分布式系统共识不支持扩展,也无法进行组通信,不支持群集范围内的可靠消息传递。其最大节点限制大约是八个节点。
  • 原则 21:在分布式系统中,你很难隐藏分布式系统中的延迟和故障。(参见分布式计算的谬误解释 )。

用户体验

  • 原则 22:了解你的用户以及他们的目标:他是新手、专家还是临时用户?他对计算机科学了解多少?极客看重扩展功能,开发人员关注示例和脚本,普通人则更在乎界面。
  • 原则 23:好的产品应当不需要用户手册,用户应该一看就会用。
  • 原则 24:当你无法在两个选项之间做出决定时,请不要通过配置选项的方式来呈现问题。这会给用户和架构师带来麻烦。对于系统如何运作的细节,他们没有你了解,他们怎么能做出决定呢?比较好的方案是找到一个每次都有效的选择;其次是自动做出选择;第三个方案是添加配置参数并设置合理的默认值。
  • 原则 25:始终具有合理的配置默认值。
  • 原则 26:设计不良的配置会制造麻烦,始终配置几个示例值。
  • 原则 27:询问用户配置值的时候,注意选择用户无需即可设置的值(例如,不要问用户需要的最大缓存条目数量,而是要问他想要用于缓存的内存数量)
  • 原则 28:如果发现未知配置,则抛出错误。永远不要忽视它。在调试过程中,无提示的配置错误会浪费我们很多调试时间。

难点

  • 原则 29:尝试新语言很容易,但要正确使用却很难。除非公司愿意组建一个十人团队并花一年的时间来学习,否则尽量不要这样做。如果你仍不死心,请阅读有关语言设计的五个问题后再做定夺。
  • 原则 30:可组合的拖放 UI 很难实现,除非团队准备投入 10 人/年的资源,否则不要去做。

最后,谈一下我的感受。在理想情况下,一个平台应当由多个正交组件组成,每个组件负责一个方面(例如,安全性、消息传递、注册、调解、分析,等等)。使用这些功能构建的系统将是很好的。

不幸的是,现实中我们很难达到这样的状态。因为在项目初始状态时,很多事情是不确定的,你无法做到这样的独立性,现在我认为在开始的时候适当的重复是必要的,当你尝试铲除他们的时候,你会发现引入了新的复杂性,分布本身就意味着复杂。有时候治愈的过程要比疾病本身更加的糟糕。

总结

作为一个架构师,我们应该像园丁一样思考、塑造、策划和去除杂草而不是定义和构建。虽然在短期内,由一位架构师来制定架构的确既快捷又实惠。但是,从长远来看,团队的力量才是强大的。

如果你不够投入和细心,你只指出错误,但是不道明错误原因,那么你的意见可能会让团队感到困惑。避免这种情况的一种方法是拥有一套普遍接受的原则,这些原则是讨论架构时遵循的基本点,也是初学者学习架构的好资源。所以想成为一名优秀的架构师,还是需要长期的磨练以及时间的验证,当然随时保持学习的状态也是非常重要的。当你学会更多知识,你便会更清晰的解决各种复杂的架构问题。

海计划公众号
(0)
上一篇 2020/03/24 05:36
下一篇 2020/03/24 05:36

您可能感兴趣的内容

  • H5中滚动到底部的事件基础知识入门_滚动入门基础教程

    问题:在H5中,我们有这样的需求:例如有列表的时候,滚动到底部时,需要加载更多。解决方案:可以采用window的滚动事件进行处理分析:如果滚动是针对整个屏幕而言的(不针对于某个界面小块),那么这个应该是是成立的:屏幕的高度+最大滚动的距离 = 内容的高度代码实现:
    监听滚动到底</p></div><div class="item-meta"> <span class="item-meta-li date">2020/03/26</span><div class="item-meta-right"></div></div></div></li><li class="item"><div class="item-img"> <a class="item-img-inner" href="https://wanghi.cn/202003/14308.html" title="Angular 实践:如何优雅地发起和处理请求基础知识_请求小白基础" target="_blank" rel="bookmark"> <img width="480" height="300" src="https://wanghi.cn/wp-content/uploads/2023/04/h.jpg" class="attachment-default size-default wp-post-image j-lazy" alt="Angular 实践:如何优雅地发起和处理请求基础知识_请求小白基础" decoding="async" data-original="https://wanghi.cn/wp-content/uploads/2020/03/5e4cf8d10e2a3-480x300.jpg" /> </a> <a class="item-category" href="https://wanghi.cn/baike/web" target="_blank">Web前端</a></div><div class="item-content"><h4 class="item-title"> <a href="https://wanghi.cn/202003/14308.html" target="_blank" rel="bookmark"> Angular 实践:如何优雅地发起和处理请求基础知识_请求小白基础 </a></h4><div class="item-excerpt"><p>Angular 实践:如何优雅地发起和处理请求基础知识 Tips: 本文实现重度依赖 ObservableInput,灵感来自同事 @Mengqi Zhang 实现的 a…</p></div><div class="item-meta"> <span class="item-meta-li date">2020/03/20</span><div class="item-meta-right"></div></div></div></li><li class="item"><div class="item-img"> <a class="item-img-inner" href="https://wanghi.cn/202003/27154.html" title="网页设计中的色彩心理学指南教程_色彩基础入门" target="_blank" rel="bookmark"> <img width="480" height="300" src="https://wanghi.cn/wp-content/uploads/2023/04/h.jpg" class="attachment-default size-default wp-post-image j-lazy" alt="可口可乐" decoding="async" data-original="https://wanghi.cn/wp-content/uploads/2020/03/coca-480x300.png" /> </a> <a class="item-category" href="https://wanghi.cn/baike/web" target="_blank">Web前端</a></div><div class="item-content"><h4 class="item-title"> <a href="https://wanghi.cn/202003/27154.html" target="_blank" rel="bookmark"> 网页设计中的色彩心理学指南教程_色彩基础入门 </a></h4><div class="item-excerpt"><p>我们大多数人没有意识到它是如何工作的,只有少数人可能会注意到。虽然颜色的影响可能被高估了,但是我们可以在某些情况下明显地感觉到它(想象你自己在一个暗红色的房间里或者在天空颜色的房间里)。今天我们将讨论网站设计中的颜色心理学,不同品牌使用颜色的方式,以及它们传达的信息。色彩心理学是如何运作的?这些颜色被分为两组基本的颜色——光谱中红色区域的颜色称为暖色(红色、</p></div><div class="item-meta"> <span class="item-meta-li date">2020/03/31</span><div class="item-meta-right"></div></div></div></li><li class="item"><div class="item-img"> <a class="item-img-inner" href="https://wanghi.cn/202003/4561.html" title="jquery.gray.js入门指南一款跨浏览器彩色图片转黑白图片jquery插件" target="_blank" rel="bookmark"> <img width="480" height="300" src="https://wanghi.cn/wp-content/uploads/2023/04/h.jpg" class="attachment-default size-default wp-post-image j-lazy" alt="jquery.gray.js入门指南一款跨浏览器彩色图片转黑白图片jquery插件" decoding="async" data-original="https://wanghi.cn/wp-content/uploads/2020/01/310-480x300.jpg" /> </a> <a class="item-category" href="https://wanghi.cn/baike/web" target="_blank">Web前端</a></div><div class="item-content"><h4 class="item-title"> <a href="https://wanghi.cn/202003/4561.html" target="_blank" rel="bookmark"> jquery.gray.js入门指南一款跨浏览器彩色图片转黑白图片jquery插件 </a></h4><div class="item-excerpt"><p>jquery.gray.js基础入门 官方网址:https://work.karlhorky.com/gray/ GitHub:https://github.com/karlhor…</p></div><div class="item-meta"> <span class="item-meta-li date">2020/03/05</span><div class="item-meta-right"></div></div></div></li><li class="item"><div class="item-img"> <a class="item-img-inner" href="https://wanghi.cn/202003/5393.html" title="APKUI菜鸟知识_安卓应用界面设计欣赏" target="_blank" rel="bookmark"> <img width="480" height="300" src="https://wanghi.cn/wp-content/uploads/2023/04/h.jpg" class="attachment-default size-default wp-post-image j-lazy" alt="APKUI菜鸟知识_安卓应用界面设计欣赏" decoding="async" data-original="https://wanghi.cn/wp-content/uploads/2020/01/118-480x300.jpg" /> </a> <a class="item-category" href="https://wanghi.cn/baike/web" target="_blank">Web前端</a></div><div class="item-content"><h4 class="item-title"> <a href="https://wanghi.cn/202003/5393.html" target="_blank" rel="bookmark"> APKUI菜鸟知识_安卓应用界面设计欣赏 </a></h4><div class="item-excerpt"><p>APKUI使用教程 官方网址:http://www.apkui.com/ 简介描述:安卓应用界面设计欣赏 提供精美的安卓应用APP的截图,按使用场景分类整理,持续更新,为Andro…</p></div><div class="item-meta"> <span class="item-meta-li date">2020/03/06</span><div class="item-meta-right"></div></div></div></li><li class="item"><div class="item-img"> <a class="item-img-inner" href="https://wanghi.cn/202003/15835.html" title="DPlayer简单用法基础教程_视频使用教程" target="_blank" rel="bookmark"> <img width="480" height="300" src="https://wanghi.cn/wp-content/uploads/2023/04/h.jpg" class="attachment-default size-default wp-post-image j-lazy" alt="DPlayer简单用法基础教程_视频使用教程" decoding="async" data-original="https://wanghi.cn/wp-content/uploads/2020/01/026-480x300.jpg" /> </a> <a class="item-category" href="https://wanghi.cn/baike/web" target="_blank">Web前端</a></div><div class="item-content"><h4 class="item-title"> <a href="https://wanghi.cn/202003/15835.html" target="_blank" rel="bookmark"> DPlayer简单用法基础教程_视频使用教程 </a></h4><div class="item-excerpt"><p>DPlayer 是一个支持弹幕的 HTML5 视频播放器。支持 Bilibili 视频和 danmaku,实时视频(HTTP Live Streaming,M3U8格式)以及 FLV 格式。 用法HTML</p><div id="player1" class="dplayer"></div><p><br /> <script src="dist/DPlaye</p></div><div class="item-meta"> <span class="item-meta-li date">2020/03/20</span><div class="item-meta-right"></div></div></div></li><li class="item"><div class="item-img"> <a class="item-img-inner" href="https://wanghi.cn/202003/24573.html" title="PHP性能优化总结入门知识_性能菜鸟教程网" target="_blank" rel="bookmark"> <img width="480" height="300" src="https://wanghi.cn/wp-content/uploads/2023/04/h.jpg" class="attachment-default size-default wp-post-image j-lazy" alt="PHP性能优化总结入门知识_性能菜鸟教程网" decoding="async" data-original="https://wanghi.cn/wp-content/uploads/2020/01/021-480x300.jpg" /> </a> <a class="item-category" href="https://wanghi.cn/baike/web" target="_blank">Web前端</a></div><div class="item-content"><h4 class="item-title"> <a href="https://wanghi.cn/202003/24573.html" target="_blank" rel="bookmark"> PHP性能优化总结入门知识_性能菜鸟教程网 </a></h4><div class="item-excerpt"><p>【1】在循环中判断时,数值判断使用恒等要比等于高效。 【2】在数组中,数组下标是字母时一定要加上单引号或双引号。因为$row[‘id‘]的效率是$row[id]的7倍。 【3】不要使用“@”去屏蔽错误输出。用@屏蔽错误消息的做法非常低效。若你真的想抑制报错,可以通过设置error_reporting来控制,好比栗子中的,行前设置,行后取消即可。 【4】尽量不</p></div><div class="item-meta"> <span class="item-meta-li date">2020/03/29</span><div class="item-meta-right"></div></div></div></li><li class="item"><div class="item-img"> <a class="item-img-inner" href="https://wanghi.cn/202003/22646.html" title="最常见的 Git 错误都有哪些,如何解决它们?小白知识_git小白基础" target="_blank" rel="bookmark"> <img width="480" height="300" src="https://wanghi.cn/wp-content/uploads/2023/04/h.jpg" class="attachment-default size-default wp-post-image j-lazy" alt="最常见的 Git 错误都有哪些,如何解决它们?小白知识_git小白基础" decoding="async" data-original="https://wanghi.cn/wp-content/uploads/2020/01/049-480x300.jpg" /> </a> <a class="item-category" href="https://wanghi.cn/baike/web" target="_blank">Web前端</a></div><div class="item-content"><h4 class="item-title"> <a href="https://wanghi.cn/202003/22646.html" target="_blank" rel="bookmark"> 最常见的 Git 错误都有哪些,如何解决它们?小白知识_git小白基础 </a></h4><div class="item-excerpt"><p>如果您曾经与许多开发者一起开发一个大项目,那么使用 Git 作为版本控制是一个最好的选择。 不过 Git 很复杂,使用过程中经常会犯各种错误。 在本文中,我将讨论程序员在使用Git时所犯的一些常见错误以及如何解决它们。拼写错误的最后提交消息经过几个小时的编码后,您的提交消息可能存在很多拼写错误,好在有一个简单的解决方案:git commit –amend该</p></div><div class="item-meta"> <span class="item-meta-li date">2020/03/26</span><div class="item-meta-right"></div></div></div></li><li class="item"><div class="item-img"> <a class="item-img-inner" href="https://wanghi.cn/202003/6018.html" title="Icarus小白教程_采用python3 aiohttp和vue.js开发的开源社区程序" target="_blank" rel="bookmark"> <img width="480" height="300" src="https://wanghi.cn/wp-content/uploads/2023/04/h.jpg" class="attachment-default size-default wp-post-image j-lazy" alt="Icarus小白教程_采用python3 aiohttp和vue.js开发的开源社区程序" decoding="async" data-original="https://wanghi.cn/wp-content/uploads/2020/01/128-480x300.jpg" /> </a> <a class="item-category" href="https://wanghi.cn/baike/web" target="_blank">Web前端</a></div><div class="item-content"><h4 class="item-title"> <a href="https://wanghi.cn/202003/6018.html" target="_blank" rel="bookmark"> Icarus小白教程_采用python3 aiohttp和vue.js开发的开源社区程序 </a></h4><div class="item-excerpt"><p>Icarus小白教程 官方网址:https://t.myrpg.cn GitHub:https://github.com/fy0/icarus 简介描述:采用python3 aio…</p></div><div class="item-meta"> <span class="item-meta-li date">2020/03/06</span><div class="item-meta-right"></div></div></div></li><li class="item"><div class="item-img"> <a class="item-img-inner" href="https://wanghi.cn/202003/20857.html" title="mpvue开发微信小程序基础知识小白入门_小程序使用说明" target="_blank" rel="bookmark"> <img width="480" height="300" src="https://wanghi.cn/wp-content/uploads/2023/04/h.jpg" class="attachment-default size-default wp-post-image j-lazy" alt="mpvue开发微信小程序基础知识小白入门_小程序使用说明" decoding="async" data-original="https://wanghi.cn/wp-content/uploads/2020/01/036-480x300.jpg" /> </a> <a class="item-category" href="https://wanghi.cn/baike/web" target="_blank">Web前端</a></div><div class="item-content"><h4 class="item-title"> <a href="https://wanghi.cn/202003/20857.html" target="_blank" rel="bookmark"> mpvue开发微信小程序基础知识小白入门_小程序使用说明 </a></h4><div class="item-excerpt"><p>一、mpvue简介mpvue 是一个使用 Vue.js 开发小程序的前端框架。框架基于 Vue.js 核心,mpvue 修改了 Vue.js 的 runtime 和 compiler 实现,使其可以运行在小程序环境中,从而为小程序开发引入了整套 Vue.js 开发体验。mp 即 mini program 的缩写。 二、mpvue快速入门① 通过脚手架引入m</p></div><div class="item-meta"> <span class="item-meta-li date">2020/03/24</span><div class="item-meta-right"></div></div></div></li><li class="item"><div class="item-img"> <a class="item-img-inner" href="https://wanghi.cn/202003/16907.html" title="在Vue框架下使用Fullcalendar基础知识教程_框架小白攻略" target="_blank" rel="bookmark"> <img width="480" height="300" src="https://wanghi.cn/wp-content/uploads/2023/04/h.jpg" class="attachment-default size-default wp-post-image j-lazy" alt="在Vue框架下使用Fullcalendar基础知识教程_框架小白攻略" decoding="async" data-original="https://wanghi.cn/wp-content/uploads/2020/03/5df4e96f79ab6-480x300.jpg" /> </a> <a class="item-category" href="https://wanghi.cn/baike/web" target="_blank">Web前端</a></div><div class="item-content"><h4 class="item-title"> <a href="https://wanghi.cn/202003/16907.html" target="_blank" rel="bookmark"> 在Vue框架下使用Fullcalendar基础知识教程_框架小白攻略 </a></h4><div class="item-excerpt"><p>Fullcalendar是一个非常受欢迎的日历日程处理的js组件,它功能强大,文档齐全,可定制化高,可与你的项目无缝对接。本站之前有很多文章介绍了Fullcalendar(v3)的使用。今天我们来看看如何在Vue框架下使用Fullcalendar。安装Fullcalendar首先第一步当然是安装FullCalendar相关的依赖。我们需要安装Vue适配、核心</p></div><div class="item-meta"> <span class="item-meta-li date">2020/03/21</span><div class="item-meta-right"></div></div></div></li><li class="item"><div class="item-img"> <a class="item-img-inner" href="https://wanghi.cn/202003/24298.html" title="剖析setTimeout和click点击事件的触发顺序入门基础_setTimeout小白攻略" target="_blank" rel="bookmark"> <img width="480" height="300" src="https://wanghi.cn/wp-content/uploads/2023/04/h.jpg" class="attachment-default size-default wp-post-image j-lazy" alt="剖析setTimeout和click点击事件的触发顺序入门基础_setTimeout小白攻略" decoding="async" data-original="https://wanghi.cn/wp-content/uploads/2020/01/146-480x300.jpg" /> </a> <a class="item-category" href="https://wanghi.cn/baike/web" target="_blank">Web前端</a></div><div class="item-content"><h4 class="item-title"> <a href="https://wanghi.cn/202003/24298.html" target="_blank" rel="bookmark"> 剖析setTimeout和click点击事件的触发顺序入门基础_setTimeout小白攻略 </a></h4><div class="item-excerpt"><p>下面是一段非常简单的JavaScript代码<button>dianji</button></p><p>setTimeout(function () {alert(‘timer handler’)}, 2000)function test () {document.addEventListener</p></div><div class="item-meta"> <span class="item-meta-li date">2020/03/29</span><div class="item-meta-right"></div></div></div></li><li class="item"><div class="item-img"> <a class="item-img-inner" href="https://wanghi.cn/202003/17374.html" title="javascript怎么去空格?小白指南_空格菜鸟教程网" target="_blank" rel="bookmark"> <img width="480" height="300" src="https://wanghi.cn/wp-content/uploads/2023/04/h.jpg" class="attachment-default size-default wp-post-image j-lazy" alt="javascript怎么去空格?小白指南_空格菜鸟教程网" decoding="async" data-original="https://wanghi.cn/wp-content/uploads/2020/01/148-480x300.jpg" /> </a> <a class="item-category" href="https://wanghi.cn/baike/web" target="_blank">Web前端</a></div><div class="item-content"><h4 class="item-title"> <a href="https://wanghi.cn/202003/17374.html" target="_blank" rel="bookmark"> javascript怎么去空格?小白指南_空格菜鸟教程网 </a></h4><div class="item-excerpt"><p>javascript怎么去字符串的空格?在javascript中可以使用replace()方法配合正则表达式来去空格,效率不错。replace()方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。语法:stringObject.replace(regexp/substr,replacement)参数:● regexp/substr</p></div><div class="item-meta"> <span class="item-meta-li date">2020/03/22</span><div class="item-meta-right"></div></div></div></li><li class="item"><div class="item-img"> <a class="item-img-inner" href="https://wanghi.cn/202003/6781.html" title="widget小白帮助_一套基于jquery或javascript的插件库" target="_blank" rel="bookmark"> <img width="480" height="300" src="https://wanghi.cn/wp-content/uploads/2023/04/h.jpg" class="attachment-default size-default wp-post-image j-lazy" alt="widget小白帮助_一套基于jquery或javascript的插件库" decoding="async" data-original="https://wanghi.cn/wp-content/uploads/2020/01/160-480x300.jpg" /> </a> <a class="item-category" href="https://wanghi.cn/baike/web" target="_blank">Web前端</a></div><div class="item-content"><h4 class="item-title"> <a href="https://wanghi.cn/202003/6781.html" target="_blank" rel="bookmark"> widget小白帮助_一套基于jquery或javascript的插件库 </a></h4><div class="item-excerpt"><p>widget小白帮助 官方网址:https://jquerywidget.com/ GitHub:https://github.com/mumuy/widget 简介描述:一套基于…</p></div><div class="item-meta"> <span class="item-meta-li date">2020/03/06</span><div class="item-meta-right"></div></div></div></li><li class="item"><div class="item-img"> <a class="item-img-inner" href="https://wanghi.cn/202003/22461.html" title="Js Array对象常用方法菜鸟教程_Array指南教程" target="_blank" rel="bookmark"> <img width="480" height="300" src="https://wanghi.cn/wp-content/uploads/2023/04/h.jpg" class="attachment-default size-default wp-post-image j-lazy" alt="Js Array对象常用方法菜鸟教程_Array指南教程" decoding="async" data-original="https://wanghi.cn/wp-content/uploads/2020/01/136-480x300.jpg" /> </a> <a class="item-category" href="https://wanghi.cn/baike/web" target="_blank">Web前端</a></div><div class="item-content"><h4 class="item-title"> <a href="https://wanghi.cn/202003/22461.html" target="_blank" rel="bookmark"> Js Array对象常用方法菜鸟教程_Array指南教程 </a></h4><div class="item-excerpt"><p>Array对象常用方法不改变原数组:concat()join()slice()toString()改变原数组:pop()push()reverse()shift()unshift()sort()splice()不改变原数组:array.concat(array)连接两个或多个数组返回被连接数组的一个副本[1,2].concat([3,4])<br /> // expec</p></div><div class="item-meta"> <span class="item-meta-li date">2020/03/26</span><div class="item-meta-right"></div></div></div></li><li class="item"><div class="item-img"> <a class="item-img-inner" href="https://wanghi.cn/202003/6228.html" title="米鼠网小白攻略_靠谱的IT项目交易平台" target="_blank" rel="bookmark"> <img width="480" height="300" src="https://wanghi.cn/wp-content/uploads/2023/04/h.jpg" class="attachment-default size-default wp-post-image j-lazy" alt="米鼠网小白攻略_靠谱的IT项目交易平台" decoding="async" data-original="https://wanghi.cn/wp-content/uploads/2020/01/254-480x300.jpg" /> </a> <a class="item-category" href="https://wanghi.cn/baike/web" target="_blank">Web前端</a></div><div class="item-content"><h4 class="item-title"> <a href="https://wanghi.cn/202003/6228.html" target="_blank" rel="bookmark"> 米鼠网小白攻略_靠谱的IT项目交易平台 </a></h4><div class="item-excerpt"><p>米鼠网小白攻略 官方网址:https://www.misuland.com/ 简介描述:靠谱的IT项目交易平台 米鼠网涵盖安卓开发、手机软件开发、app开发、app软件开发、erp…</p></div><div class="item-meta"> <span class="item-meta-li date">2020/03/06</span><div class="item-meta-right"></div></div></div></li></ul></div></article></main><aside class="sidebar"><div class="widget widget_image_myimg"> <a href="https://wanghi.cn/go.php?http://www.5118.com?promote=83864A" target="_blank" rel="nofollow"> <img class="j-lazy" src="https://wanghi.cn/wp-content/uploads/2023/04/h.jpg" data-original="https://wanghi.cn/img/5118/5118.png" alt="5118工具"> </a></div><div class="widget widget_image_myimg"> <a href="https://wanghi.cn/go.php?https://www.bt.cn/?invite_code=M19sbndpc3E=" target="_blank" rel="nofollow"> <img class="j-lazy" src="https://wanghi.cn/wp-content/uploads/2023/04/h.jpg" data-original="https://wanghi.cn/img/bt/b.png" alt="宝塔优惠券"> </a></div><div class="widget widget_image_myimg"> <a href="https://www.aliyun.com/activity/new/index?userCode=u1pc8ney" target="_blank" rel="nofollow"> <img class="j-lazy" src="https://wanghi.cn/wp-content/uploads/2023/04/h.jpg" data-original="https://wanghi.cn/img/right/aliyun.png" alt="阿里云广告"> </a></div><div class="widget widget_image_myimg"> <a href="https://wanghi.cn/go.php?https://url.cn/U4djljVv"> <img class="j-lazy" src="https://wanghi.cn/wp-content/uploads/2023/04/h.jpg" data-original="https://wanghi.cn/img/right/txyun.png" alt="腾讯云广告"> </a></div><div class="widget widget_tag_cloud"><h3 class="widget-title"><span>关注焦点</span></h3><div class="tagcloud"><a href="https://wanghi.cn/http/course/dedecms" class="tag-cloud-link tag-link-64 tag-link-position-1" style="font-size: 9.0606060606061pt;" aria-label="DedeCMS (1个项目)">DedeCMS</a> <a href="https://wanghi.cn/baike/seobook" class="tag-cloud-link tag-link-1648 tag-link-position-2" style="font-size: 17.29797979798pt;" aria-label="SEO书籍 (423个项目)">SEO书籍</a> <a href="https://wanghi.cn/seo/seohelp" class="tag-cloud-link tag-link-198 tag-link-position-3" style="font-size: 13.373737373737pt;" aria-label="SEO优化百科 (32个项目)">SEO优化百科</a> <a href="https://wanghi.cn/tool" class="tag-cloud-link tag-link-332 tag-link-position-4" style="font-size: 9.0606060606061pt;" aria-label="SEO工具 (1个项目)">SEO工具</a> <a href="https://wanghi.cn/seo/baimao" class="tag-cloud-link tag-link-254 tag-link-position-5" style="font-size: 12.949494949495pt;" aria-label="SEO白帽技术 (24个项目)">SEO白帽技术</a> <a href="https://wanghi.cn/baike" class="tag-cloud-link tag-link-637 tag-link-position-6" style="font-size: 10.474747474747pt;" aria-label="SEO百科 (4个项目)">SEO百科</a> <a href="https://wanghi.cn/seo/heimao" class="tag-cloud-link tag-link-255 tag-link-position-7" style="font-size: 10.121212121212pt;" aria-label="SEO黑帽技术 (3个项目)">SEO黑帽技术</a> <a href="https://wanghi.cn/baike/web" class="tag-cloud-link tag-link-1659 tag-link-position-8" style="font-size: 22pt;" aria-label="Web前端 (9,147个项目)">Web前端</a> <a href="https://wanghi.cn/http/course/wordpress" class="tag-cloud-link tag-link-52 tag-link-position-9" style="font-size: 13.762626262626pt;" aria-label="WordPress (42个项目)">WordPress</a> <a href="https://wanghi.cn/http/tao/yunyouhui" class="tag-cloud-link tag-link-12 tag-link-position-10" style="font-size: 9.6969696969697pt;" aria-label="云优惠 (2个项目)">云优惠</a> <a href="https://wanghi.cn/baike/yuns/cloudx" class="tag-cloud-link tag-link-1402 tag-link-position-11" style="font-size: 14.257575757576pt;" aria-label="云帮手 (58个项目)">云帮手</a> <a href="https://wanghi.cn/baike/yuns" class="tag-cloud-link tag-link-1386 tag-link-position-12" style="font-size: 8pt;" aria-label="云操作 (0个项目)">云操作</a> <a href="https://wanghi.cn/baike/yun" class="tag-cloud-link tag-link-691 tag-link-position-13" style="font-size: 10.121212121212pt;" aria-label="云服务 (3个项目)">云服务</a> <a href="https://wanghi.cn/http/tao" class="tag-cloud-link tag-link-11 tag-link-position-14" style="font-size: 8pt;" aria-label="优惠券 (0个项目)">优惠券</a> <a href="https://wanghi.cn/http" class="tag-cloud-link tag-link-13 tag-link-position-15" style="font-size: 8pt;" aria-label="传统网媒 (0个项目)">传统网媒</a> <a href="https://wanghi.cn/seohtml/caiji" class="tag-cloud-link tag-link-1362 tag-link-position-16" style="font-size: 10.474747474747pt;" aria-label="内容采集 (4个项目)">内容采集</a> <a href="https://wanghi.cn/http/tao/vip" class="tag-cloud-link tag-link-4 tag-link-position-17" style="font-size: 9.0606060606061pt;" aria-label="发放优惠券 (1个项目)">发放优惠券</a> <a href="https://wanghi.cn/media" class="tag-cloud-link tag-link-245 tag-link-position-18" style="font-size: 8pt;" aria-label="媒体矩阵 (0个项目)">媒体矩阵</a> <a href="https://wanghi.cn/baike/yuns/baota" class="tag-cloud-link tag-link-22000 tag-link-position-19" style="font-size: 9.0606060606061pt;" aria-label="宝塔面板 (1个项目)">宝塔面板</a> <a href="https://wanghi.cn/http/jianzhan" class="tag-cloud-link tag-link-306 tag-link-position-20" style="font-size: 9.0606060606061pt;" aria-label="建站案例 (1个项目)">建站案例</a> <a href="https://wanghi.cn/media/weixinseo" class="tag-cloud-link tag-link-230 tag-link-position-21" style="font-size: 11.535353535354pt;" aria-label="微信生态圈优化 (9个项目)">微信生态圈优化</a> <a href="https://wanghi.cn/media/weibo" class="tag-cloud-link tag-link-264 tag-link-position-22" style="font-size: 10.757575757576pt;" aria-label="微博生态圈优化 (5个项目)">微博生态圈优化</a> <a href="https://wanghi.cn/seo/baiduseo" class="tag-cloud-link tag-link-187 tag-link-position-23" style="font-size: 10.121212121212pt;" aria-label="搜索引擎优化 (3个项目)">搜索引擎优化</a> <a href="https://wanghi.cn/seo/googlescore" class="tag-cloud-link tag-link-294 tag-link-position-24" style="font-size: 9.6969696969697pt;" aria-label="搜索引擎算法 (2个项目)">搜索引擎算法</a> <a href="https://wanghi.cn/media/xmtseo" class="tag-cloud-link tag-link-260 tag-link-position-25" style="font-size: 10.121212121212pt;" aria-label="新媒体矩阵优化 (3个项目)">新媒体矩阵优化</a> <a href="https://wanghi.cn/hijihua" class="tag-cloud-link tag-link-535 tag-link-position-26" style="font-size: 11.818181818182pt;" aria-label="海计划 (11个项目)">海计划</a> <a href="https://wanghi.cn/sem" class="tag-cloud-link tag-link-302 tag-link-position-27" style="font-size: 9.0606060606061pt;" aria-label="王海SEM (1个项目)">王海SEM</a> <a href="https://wanghi.cn/seo" class="tag-cloud-link tag-link-19 tag-link-position-28" style="font-size: 8pt;" aria-label="王海SEO (0个项目)">王海SEO</a> <a href="https://wanghi.cn/tashuo" class="tag-cloud-link tag-link-391 tag-link-position-29" style="font-size: 13.833333333333pt;" aria-label="王海说 (44个项目)">王海说</a> <a href="https://wanghi.cn/internet" class="tag-cloud-link tag-link-1 tag-link-position-30" style="font-size: 12.525252525253pt;" aria-label="站务 (18个项目)">站务</a> <a href="https://wanghi.cn/toutiao" class="tag-cloud-link tag-link-380 tag-link-position-31" style="font-size: 11.676767676768pt;" aria-label="站友头条 (10个项目)">站友头条</a> <a href="https://wanghi.cn/http/course" class="tag-cloud-link tag-link-51 tag-link-position-32" style="font-size: 9.0606060606061pt;" aria-label="站友攻略 (1个项目)">站友攻略</a> <a href="https://wanghi.cn/http/zyzy" class="tag-cloud-link tag-link-40 tag-link-position-33" style="font-size: 9.0606060606061pt;" aria-label="站友资源 (1个项目)">站友资源</a> <a href="https://wanghi.cn/http/course/peizhi" class="tag-cloud-link tag-link-127 tag-link-position-34" style="font-size: 11.535353535354pt;" aria-label="站点配置 (9个项目)">站点配置</a> <a href="https://wanghi.cn/baike/yun/zoneidc" class="tag-cloud-link tag-link-1612 tag-link-position-35" style="font-size: 9.0606060606061pt;" aria-label="纵横云 (1个项目)">纵横云</a> <a href="https://wanghi.cn/http/domain" class="tag-cloud-link tag-link-7 tag-link-position-36" style="font-size: 12.59595959596pt;" aria-label="网站站长 (19个项目)">网站站长</a> <a href="https://wanghi.cn/admin" class="tag-cloud-link tag-link-17 tag-link-position-37" style="font-size: 10.757575757576pt;" aria-label="草根站长 (5个项目)">草根站长</a> <a href="https://wanghi.cn/media/yingxiao" class="tag-cloud-link tag-link-33411 tag-link-position-38" style="font-size: 20.19696969697pt;" aria-label="营销推广 (2,807个项目)">营销推广</a> <a href="https://wanghi.cn/baike/yun/aliyun" class="tag-cloud-link tag-link-693 tag-link-position-39" style="font-size: 12.878787878788pt;" aria-label="阿里云 (23个项目)">阿里云</a> <a href="https://wanghi.cn/http/tao/quan" class="tag-cloud-link tag-link-21 tag-link-position-40" style="font-size: 10.121212121212pt;" aria-label="领券 (3个项目)">领券</a></div></div><div class="widget widget_image_myimg"> <a href="#"> <img class="j-lazy" src="https://wanghi.cn/wp-content/uploads/2023/04/h.jpg" data-original="https://wanghi.cn/img/haijihua/mcn.jpg" alt="MCN二维码"> </a></div><div class="widget widget_post_thumb"><h3 class="widget-title"><span>热门推荐</span></h3><ul><li class="item"><div class="item-img"> <a class="item-img-inner" href="https://wanghi.cn/202004/33086.html" title="创意入门指南_空手"> <img width="480" height="300" src="https://wanghi.cn/wp-content/uploads/2023/04/h.jpg" class="attachment-default size-default wp-post-image j-lazy" alt="创意入门指南_空手" decoding="async" data-original="https://wanghi.cn/wp-content/uploads/2020/04/10712927235c3fe77106e2b1.18128176-480x300.jpeg" /> </a></div><div class="item-content"><p class="item-title"><a href="https://wanghi.cn/202004/33086.html" title="创意入门指南_空手">创意入门指南_空手</a></p><p class="item-date">2020/04/18</p></div></li><li class="item"><div class="item-img"> <a class="item-img-inner" href="https://wanghi.cn/202003/14304.html" title="使用jquery封装的动画脚本(无动画、css3动画、js动画)基础入门_动画小白指南"> <img width="480" height="300" src="https://wanghi.cn/wp-content/uploads/2023/04/h.jpg" class="attachment-default size-default wp-post-image j-lazy" alt="使用jquery封装的动画脚本(无动画、css3动画、js动画)基础入门_动画小白指南" decoding="async" data-original="https://wanghi.cn/wp-content/uploads/2020/01/006-480x300.jpg" /> </a></div><div class="item-content"><p class="item-title"><a href="https://wanghi.cn/202003/14304.html" title="使用jquery封装的动画脚本(无动画、css3动画、js动画)基础入门_动画小白指南">使用jquery封装的动画脚本(无动画、css3动画、js动画)基础入门_动画小白指南</a></p><p class="item-date">2020/03/20</p></div></li><li class="item"><div class="item-img"> <a class="item-img-inner" href="https://wanghi.cn/202003/24399.html" title="程序员如何找到女朋友?使用教程_程序员小白入门"> <img class="j-lazy" src="https://wanghi.cn/wp-content/uploads/2023/04/h.jpg" data-original="https://wanghi.cn/wp-content/uploads/2020/01/257-480x300.jpg" width="480" height="300" alt="程序员如何找到女朋友?使用教程_程序员小白入门"> </a></div><div class="item-content"><p class="item-title"><a href="https://wanghi.cn/202003/24399.html" title="程序员如何找到女朋友?使用教程_程序员小白入门">程序员如何找到女朋友?使用教程_程序员小白入门</a></p><p class="item-date">2020/03/29</p></div></li><li class="item"><div class="item-img"> <a class="item-img-inner" href="https://wanghi.cn/202003/22719.html" title="10种免费的工具让你快速的、高效的使用数据可视化小白基础_可视化基础知识入门"> <img width="480" height="300" src="https://wanghi.cn/wp-content/uploads/2023/04/h.jpg" class="attachment-default size-default wp-post-image j-lazy" alt="10种免费的工具让你快速的、高效的使用数据可视化小白基础_可视化基础知识入门" decoding="async" data-original="https://wanghi.cn/wp-content/uploads/2020/01/270-480x300.jpg" /> </a></div><div class="item-content"><p class="item-title"><a href="https://wanghi.cn/202003/22719.html" title="10种免费的工具让你快速的、高效的使用数据可视化小白基础_可视化基础知识入门">10种免费的工具让你快速的、高效的使用数据可视化小白基础_可视化基础知识入门</a></p><p class="item-date">2020/03/26</p></div></li><li class="item"><div class="item-img"> <a class="item-img-inner" href="https://wanghi.cn/202003/4753.html" title="Planetary.js使用帮助创建交互式Web地球仪js插件"> <img width="480" height="300" src="https://wanghi.cn/wp-content/uploads/2023/04/h.jpg" class="attachment-default size-default wp-post-image j-lazy" alt="Planetary.js使用帮助创建交互式Web地球仪js插件" decoding="async" data-original="https://wanghi.cn/wp-content/uploads/2020/01/269-480x300.jpg" /> </a></div><div class="item-content"><p class="item-title"><a href="https://wanghi.cn/202003/4753.html" title="Planetary.js使用帮助创建交互式Web地球仪js插件">Planetary.js使用帮助创建交互式Web地球仪js插件</a></p><p class="item-date">2020/03/05</p></div></li></ul></div><div class="widget widget_image_myimg"> <a href="https://www.haiyunying.com/61.html" target="_blank"> <img class="j-lazy" src="https://wanghi.cn/wp-content/uploads/2023/04/h.jpg" data-original="https://wanghi.cn/wp-content/uploads/2022/06/2022060921253456.jpg" alt=""> </a></div></aside></div></div><footer class="footer width-footer-bar"><div class="container"><div class="footer-col-wrap footer-with-logo-icon"><div class="footer-col footer-col-logo"> <img src="https://wanghi.cn/img/fhi.png" alt="王海"></div><div class="footer-col footer-col-copy"><ul class="footer-nav hidden-xs"><li id="menu-item-1483" class="menu-item menu-item-1483"><a href="https://wanghi.cn/">©2022 成都私域运营专家-王海</a></li></ul><div class="copyright"><p><a href="https://beian.miit.gov.cn/#/Integrated/index" target="_blank" rel="noopener">蜀ICP备19004414号</a></p></div></div><div class="footer-col footer-col-sns"><div class="footer-sns"> <a href="https://wanghi.cn/go.php?https://tongji.baidu.com/main/overview/10000118002/overview/index?siteId=14797428" aria-label="icon"> <i class="wpcom-icon fa fa-mouse-pointer sns-icon"></i> </a> <a class="sns-wx" href="javascript:;" aria-label="icon"> <i class="wpcom-icon fa fa-user-plus sns-icon"></i> <span style="background-image:url('https://wanghi.cn/img/wx/wx.png');"></span> </a> <a class="sns-wx" href="javascript:;" aria-label="icon"> <i class="wpcom-icon fa fa-wechat sns-icon"></i> <span style="background-image:url('https://wanghi.cn/img/wxxcx.jpg');"></span> </a></div></div></div></div></footer><div class="action action-style-0 action-color-0 action-pos-0" style="bottom:20%;"><div class="action-item gotop j-top"> <i class="wpcom-icon wi action-item-icon"><svg aria-hidden="true"><use xlink:href="#wi-arrow-up-2"></use></svg></i></div></div><div class="footer-bar"><div class="fb-item"> <a href="https://wanghi.cn" target="_blank"> <i class="wpcom-icon fa fa-home fb-item-icon"></i> <span>首页</span> </a></div><div class="fb-item"> <a href="https://wanghi.cn/img/wxxcx.jpg" class="j-footer-bar-qrcode"> <i class="wpcom-icon fa fa-dot-circle-o fb-item-icon"></i> <span>搜索SEO</span> </a></div><div class="fb-item"> <a href="https://wanghi.cn/img/wx/wx.png" class="j-footer-bar-qrcode"> <i class="wpcom-icon fa fa-sellsy fb-item-icon"></i> <span>加好友</span> </a></div></div> <script type='text/javascript' id='main-js-extra'>var _wpcom_js = {"webp":"","ajaxurl":"https:\/\/wanghi.cn\/wp-admin\/admin-ajax.php","theme_url":"https:\/\/wanghi.cn\/wp-content\/themes\/justnews","slide_speed":"50000","is_admin":"0","js_lang":{"copy_done":"\u590d\u5236\u6210\u529f\uff01","copy_fail":"\u6d4f\u89c8\u5668\u6682\u4e0d\u652f\u6301\u62f7\u8d1d\u529f\u80fd","confirm":"\u786e\u5b9a","qrcode":"\u4e8c\u7ef4\u7801","page_loaded":"\u5df2\u7ecf\u5230\u5e95\u4e86","no_content":"\u6682\u65e0\u5185\u5bb9","load_failed":"\u52a0\u8f7d\u5931\u8d25\uff0c\u8bf7\u7a0d\u540e\u518d\u8bd5\uff01","expand_more":"\u9605\u8bfb\u5269\u4f59 %s"},"lightbox":"1","post_id":"20171","user_card_height":"356","poster":{"notice":"\u8bf7\u957f\u6309\u4fdd\u5b58\u56fe\u7247\uff0c\u5c06\u5185\u5bb9\u5206\u4eab\u7ed9\u66f4\u591a\u597d\u53cb","generating":"\u6b63\u5728\u751f\u6210\u6d77\u62a5\u56fe\u7247...","failed":"\u6d77\u62a5\u56fe\u7247\u751f\u6210\u5931\u8d25"},"video_height":"482","fixed_sidebar":"1","dark_style":"0","font_url":"\/\/wanghi.cn\/wp-content\/uploads\/wpcom\/fonts.9b34824582affe8e.css","follow_btn":"<i class=\"wpcom-icon wi\"><svg aria-hidden=\"true\"><use xlink:href=\"#wi-add\"><\/use><\/svg><\/i>\u5173\u6ce8","followed_btn":"\u5df2\u5173\u6ce8","user_card":"1"};</script> <script type='text/javascript' id='wpcom-member-js-extra'>var _wpmx_js = {"ajaxurl":"https:\/\/wanghi.cn\/wp-admin\/admin-ajax.php","plugin_url":"https:\/\/wanghi.cn\/wp-content\/plugins\/wpcom-member\/","post_id":"20171","js_lang":{"login_desc":"\u60a8\u8fd8\u672a\u767b\u5f55\uff0c\u8bf7\u767b\u5f55\u540e\u518d\u8fdb\u884c\u76f8\u5173\u64cd\u4f5c\uff01","login_title":"\u8bf7\u767b\u5f55","login_btn":"\u767b\u5f55","reg_btn":"\u6ce8\u518c"},"login_url":"https:\/\/wanghi.cn\/i","register_url":"https:\/\/wanghi.cn\/register","TCaptcha":{"appid":"2035109633"},"captcha_label":"\u70b9\u51fb\u8fdb\u884c\u4eba\u673a\u9a8c\u8bc1","captcha_verified":"\u9a8c\u8bc1\u6210\u529f","errors":{"require":"\u4e0d\u80fd\u4e3a\u7a7a","email":"\u8bf7\u8f93\u5165\u6b63\u786e\u7684\u7535\u5b50\u90ae\u7bb1","pls_enter":"\u8bf7\u8f93\u5165","password":"\u5bc6\u7801\u5fc5\u987b\u4e3a6~32\u4e2a\u5b57\u7b26","passcheck":"\u4e24\u6b21\u5bc6\u7801\u8f93\u5165\u4e0d\u4e00\u81f4","phone":"\u8bf7\u8f93\u5165\u6b63\u786e\u7684\u7535\u8bdd\u53f7\u7801","terms":"\u8bf7\u9605\u8bfb\u5e76\u540c\u610f\u6761\u6b3e","sms_code":"\u9a8c\u8bc1\u7801\u9519\u8bef","captcha_verify":"\u8bf7\u70b9\u51fb\u6309\u94ae\u8fdb\u884c\u9a8c\u8bc1","captcha_fail":"\u4eba\u673a\u9a8c\u8bc1\u5931\u8d25\uff0c\u8bf7\u91cd\u8bd5","nonce":"\u968f\u673a\u6570\u6821\u9a8c\u5931\u8d25","req_error":"\u8bf7\u6c42\u5931\u8d25"}};</script> <script type='text/javascript' id='QAPress-js-js-extra'>var QAPress_js = {"ajaxurl":"https:\/\/wanghi.cn\/wp-admin\/admin-ajax.php","ajaxloading":"https:\/\/wanghi.cn\/wp-content\/plugins\/qapress\/images\/loading.gif"};</script> <script>var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?0f6d2bb7194b8728131ffadfe5c3e7c4"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })();</script> <script type="application/ld+json">{ "@context": "https://schema.org", "@type": "Article", "@id": "https://wanghi.cn/202003/20171.html", "url": "https://wanghi.cn/202003/20171.html", "headline": "成为一个优秀架构师,你必须了解的 30 条设计原则菜鸟教程_架构入门教程", "image": "https://wanghi.cn/wp-content/uploads/2020/01/270.jpg", "description": "众所周知,架构师的角色,更偏向于策划、而非指挥,塑造、而非支配,其存在的意义,在于引导大家讨论、而非自己主宰一切。但是,具体应该如何执行呢?本文作者整理了 30 个公认的架构原则,来帮助大家解决此问题。也许有的原则,你从未听说,但你看完就能...", "datePublished": "2020-03-24T05:36:26", "dateModified": "2020-03-23T22:01:09", "author": {"@type":"Person","name":"Web前端","url":"https://wanghi.cn/member/web","image":"//wanghi.cn/wp-content/uploads/member/avatars/abfcfa5649e7003b.1583781931.jpg"} }</script> <script defer src="https://wanghi.cn/wp-content/cache/autoptimize/js/autoptimize_9e85a7cedb1bdce2a07a2bd41d57568a.js"></script></body></html>