最近看了一篇国外大牛写的关于 iOS 框架模式的文章,内容涉及目前 iOS 端诸多主流的框架模式,个人感觉文章写的很不错,收获匪浅,希望能够通过翻译原文的方式更好的体会一下,也分享给更多的人参考。 正文 原文配图,感觉不错 在 iOS 中使用 MVC 感觉怪怪的?想要投奔 MVVM 但是又感到迟疑?听说过 VIPER,但是不确定是否值得花费时间在上面? 接着向下阅读
转载 3月前
379阅读
在软件系统的设计阶段,架构设计、概要设计和详细设计阐述了一个系统的设计和实现过程。从系统分解为层次、层次内的模块以及相互的接口、模块分解为对象以及对象的接口、实现这些对象接口的方法。但每个阶段都有自己独特的一部分。 架构设计重点在于将系统分层并产生层次内的模块、阐明模块之间的关系。主要工作是根据架构分析和设计思想产生系统的架构图,并对架构图进行描述,说
Java系统架构设计说明 ================ 简介 ---- Java是一种广泛应用于各种软件开发领域的编程语言,其系统架构设计在软件开发过程中起到了至关重要的作用。本文将介绍Java系统架构设计的重要性,并提供一些代码示例来帮助读者更好地理解。 Java系统架构设计的重要性 -------------------- Java系统架构设计是为了解决软件系统的复杂性和可维护性问题而
原创 2023-12-05 13:25:24
70阅读
背景架构设计不是架构师的专属工作,对非技术人员甚至是开发人员来说,从实实在在的需求到高神莫测的架构设计仿佛是一个神秘的过程,只有具有架构师头衔的人才能掌握各中玄妙,这篇文章就是从最基本的事物关系来回答如何根据需求进行架构设计的问题。根据我前面的文章,架构的本质是事物与事物之间恰当的关系,不同领域的架构,其事物的指代不同,比如对于组织架构而言,事物指的是人与机构;建筑架构,事物指的是钢筋混凝土与空间
       狭义上的架构设计过程就是“分+合”的过程,一个系统=架构元素+架构+整合机制。那么怎么切,依据什么切?切了以后怎么往一起整合?我们这里做个简单的介绍。           架构设计大的步骤:理清楚要建设的系统的环境上下文要求和需求、梳理出关键核心问题、根据核心问题定义边界、根据边界切分
## 详细架构设计说明书 ### 简介 在软件开发过程中,详细架构设计是非常重要的一环,它能够帮助开发团队更好地理解系统的结构和功能,指导开发人员进行代码的编写和调试工作。本文将介绍详细架构设计说明书的重要性,以及如何编写一个完整的详细架构设计说明书。 ### 重要性 详细架构设计说明书在软件开发过程中扮演着重要的角色。它可以帮助团队成员更好地理解系统的整体结构和功能,明确各个模块之间的依赖关
原创 2024-04-24 04:03:18
65阅读
  笔者做产品经理职位还不久,但是也积累了一些经验,本文就讲讲产品经理对产品的设计步骤,与大家共同交流学习,共同提高。  产品经理现在要求的更多的是需求分析、原型设计和后期的运营三方面重点内容。其中,需求分析这块如果团队人员比较全的话就要求产品经理对需求这块进行把控,项目经理对需求进行整理总结,系统分析师对需求进行分析;原型设计这块是产品经理的一大工作部分,就是在经过了需求分析之后,对产品的界面和
作者: 夏至1、什么是MVPMVP,全称 Model-View-Presenter。它是从 MVC中演变过来的,它的基本思想是相通的;在MVP中,View更加专注于处理数据的可视化以及用户交互,让Model专注于数据的处理,而Presenter则,提供 View 与 Model 之间数据的纽带,用于交互与数据传输;如下面这张图: 可以看到,在View 与 Model 之间我们是通过 Present
转载 2024-01-03 12:54:40
0阅读
什么是架构设计的本质?任何系统,自然情况下,都是从有序到无序,这是有科学依据的, 按照热力学第二定律,自然界的一切自发过程都有方向性,一个孤立系统会由有序变为无序,即它的熵会不断增加,最终寂灭。但生物可以通过和外界交互,主动进行新陈代谢,制造“负熵”来保证自身有序,继续生存。同样,一个软件系统随着功能越来越多,调用量急剧增长,整个系统逐渐碎片化,越来越无序,最终无法维护和扩展,所以系统在一段时间的
上一期我讲了架构设计流程第 1 步识别复杂度,确定了系统面临的主要复杂度问题后,方案设 计就有了明确的目标,我们就可以开始真正进行架构方案设计了。今天我来讲讲架构设计流程第 2 步:设计备选方案,同样还会结合上期“前浪微博”的场景,谈谈消息队列设计备选方案的实战。架构设计第二步:设计备选方案架构师的工作并不神秘,成熟的架构师需要对已经存在的技术非常熟悉,对已经经过验证的架构 模式烂熟于心,然后根据
1.1.文档的重要性很多小伙伴在需求、开发、测试阶段不注重文档,认为这耽误时间、画蛇添足。实际上文档对于软件行业是十分重要的。软件的定义:软件是包括程序、数据及其相关文档的完整集合。 从这个定义中我们能够体会到文档的重要性。很多小伙伴常说要对线上数据保持敬畏,对线上程序保持敬畏,同样的,我们也要对文档保持敬畏,千万不能轻视他。 往小里说,文档代表了传承与积淀。我们在抱怨前辈没有留下足够的文档、前辈
  QQ 空间作为腾讯海量互联网服务产品,经过近七年的发展,实现了从十万级到亿级同时在线的飞跃。在这个过程中,QQ 空间团队遇到了哪些技术挑战?其站点前后台架构随着业务规模的变化又进行了怎样的演进与变迁?成长背后有过怎样的心酸和快乐……  4. 26 日晚间,腾讯大讲堂·深圳首站《QQ 空间技术架构之峥嵘岁月》活动在腾讯总部腾讯大厦多功能厅举办,腾讯 Web 前端研发领域专家、腾讯最早的专职 We
转载 2024-01-11 17:35:26
58阅读
大型互联网架构设计,讲究一个四件套组合拳玩法,高并发、高性能、高可用、高扩展。如果能掌握这四个方面,应付大厂面试以及日常工作中的架构方案设计基本不是什么难题。今天,Tom哥就带大家学习下高可用都有哪些设计技巧?一、系统拆分有句古话 "牵一发而动全身"。面对一个庞然大物,如果没有一个合理的分工分层。任何一个小小失误都会被无限放大,酿成巨大的灾难。万物相通,回到我们的软件架构。早前的系统都是单体系统,
# Java架构设计说明书 在软件开发中,架构设计是至关重要的一环。尤其对于Java项目,合理的架构设计不仅能提高代码的可维护性和可扩展性,还能提升团队的开发效率。本文将通过实例说明Java架构设计的重要性,同时提供代码示例,以帮助大家更好地理解这一主题。 ## 1. 什么是Java架构设计? Java架构设计是指在开发Java应用程序时,制定系统的总体结构和相互关系的过程。它涵盖了多个方面
原创 10月前
43阅读
dubbo官方对于dubbo整体设计文章个人感觉写的很好,从整体设计到源码包结构都有非常不错的说明,直接粘贴过来,作为阅读源码的第一站。需要说明的是 总体设计图例说明:图中左边淡蓝背景的为服务消费方使用的接口,右边淡绿色背景的为服务提供方使用的接口,位于中轴线上的为双方都用到的接口。图中从下至上分为十层,各层均为单向依赖,右边的黑色箭头代表层之间的依赖关系,每一层都可以剥离上层被复用,其
转载 2024-07-11 19:57:44
72阅读
概要设计说明书  项目承担部门:撰写人(签名):完成日期:本文档使用部门:□主管领导  □项目组 □客户(市场)评审人(签名):评审日期:批准人(签名):           批准日期:文档修订记录版本编号或者更改记录编号*变化状态简要说明(变更内容和变更范围)日期变更
背景其实从编制架构设计说明书的角度来看,也可以阐述具体如何编写架构设计说明书就像高考作文一样,评审总是有些采分点的嘛,那么对于编制架构设计说明书来说哪些是我们应该准备的采分点呢?我们在编制的过程中需要重点注意哪些章节的哪些内容呢?这就是我接下来想和大家分享的。需求根据第一部文章我们知道一篇架构设计说明书大致章节应该是这样的:文档概述:包含项目背景、项目目标、文档版本信息、目标读者、参考文档、名词解
众所周知,在Java的知识体系中,并发编程是非常重要的一环,也是面试的必问题,一个好的Java程序员是必须对并发编程这块有所了解的。然而不论是哪个国家,什么背景的 Java 开发者,都对自己写的并发程序相当自信,但也会在出问题时表现得很诧异甚至一筹莫展。可见,Java 并发编程显然不是一件能速成的能力,基础搭得越好,越全面,在实践中才会有更深刻的理解。因此,大家不难发现 Java 并发问题一直是*
# QT界面 软件设计说明 体系架构设计教程 作为一名经验丰富的开发者,我将指导你如何实现“QT界面 软件设计说明 体系架构设计”。下面是整个过程的步骤概述: | 步骤 | 内容 | | ---- | ---- | | 步骤1 | 确认软件需求 | | 步骤2 | 设计软件架构 | | 步骤3 | 实现QT界面设计 | | 步骤4 | 编写软件功能代码 | | 步骤5 | 测试和调试 | |
原创 2024-02-01 10:12:12
128阅读
要成为一个 Java 架构师得学习哪些知识?语言基础java架构师,顾名思义,你的主流开发语言是java。放宽了讲,语言本身也不过是一种工具,只是用你最熟练的来解决问题而已。 所以作为java架构师,java语言不仅仅是应用层面,jvm底层的相关原理类,依然是需要去掌握的点开发框架这是将架构师的工作落地的直接手段。因为架构的终极目标是业务指标。不能利于业务的进展,架构是没有意义的。 而体现在业务上
转载 2023-07-20 08:11:02
22阅读
  • 1
  • 2
  • 3
  • 4
  • 5