❸ 设计模式和架构
文章平均质量分 87
极客学伟
软件作品:灵动岛软件“Island Widgets”;日历软件“小历-极简日历”;AI绘图软件“AI画图王”;习惯打卡软件“加一”;OCR软件“学伟扫描”;
前百度高级研发工程师;
旅行、篮球、阅读、电影、摄影爱好者。
展开
-
设计模式-行为型
设计模式-行为型行为型设计模式主要用于软件运行时复杂的流程控制。包含:模板方法模式、策略模式、命令模式、职责链模式、状态模式、观察者模式、中介者模原创 2023-02-24 13:25:04 · 470 阅读 · 0 评论 -
设计模式-创建型
设计模式-创建型创建型设计模式包含:单例模式、原型模式、工厂方法模式、抽象工厂模式、建造者模式单例模式原创 2023-02-06 17:53:22 · 421 阅读 · 0 评论 -
设计模式-软件设计的7个原则
软件设计的7个原则原创 2023-01-30 16:28:35 · 403 阅读 · 1 评论 -
体系结构与操作系统拾遗
体系结构与操作系统拾遗Part1. 体系结构基础1. 冯·诺依曼体系结构计算机处理的数据和指令一律用二进制数表示顺序执行程序计算机运行过程中,把要执行的程序和处理的数据首先存入主存储器(内存),计算机执行程序时,将自动地并按顺序从主存储器中取出指令一条一条地执行,这一概念称作顺序执行程序。计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部分组成。2. 数据的机内...原创 2019-12-28 19:23:01 · 977 阅读 · 1 评论 -
iOS进阶 - 组件化架构设计
iOS进阶 - 组件化设计探究组件化架构的设计需要解决三个主要问题:模块粒度如何划分如何分层多团队如何协作模块粒度如何划分模块粒度划分需遵循五个原则:单一功能原则:对象功能要单一,不要在一个对象里添加很多功能开闭原则:扩展是开放的,修改是封闭的里式替换原则:子类对象时可以替代基类对象的接口隔离原则:接口的用途要单一,不要在一个接口上根据不同入参实现多个功能依赖反转原则:...原创 2019-05-29 15:20:05 · 655 阅读 · 0 评论 -
iOS 代码规范
一、命名规范1、统一要求含义清楚,尽量做到不需要注释也能了解其作用,若做不到,就加注释,使用全称,不使用缩写。2、类名大驼峰式命名:每个单词的首字母都采用大写字母==例:== MFHomePageViewController3、私有变量私有变量放在 .m 文件中声明 以 _ 开头,第一个单词首字母小写,后面的单词的首字母全部大写。==例:== NSString *_somePrivateVaria转载 2017-09-19 21:22:00 · 1177 阅读 · 0 评论 -
iOS-Swift 面向协议编程/组件化(模块化)编程思想
转载注明出处:http://blog.csdn.net/qxuewei/article/details/53945445 因为OC 的局限性, 使得iOS 开发组件化编程变得不可能,得益于面向对象语言的特性 (封装,继承,多态) 在我们熟悉的设计模式中渐渐形成统一的软件开发思想. 在抽取某些功能作为基类的不断运用中,代码的可移植性逐渐减弱. 就如同一棵树,从主干到各个分支,每个分支再长成细枝原创 2017-01-03 11:09:51 · 8983 阅读 · 0 评论 -
iOS-Runloop总结
一、Runloop简介:Run loops 是线程相关的的基础框架的一部分。一个 run loop 就是一个事件处理 的循环,用来不停的调度工作以及处理输入事件。使用 run loop的目的是让你的线程在有工作的时候忙于工作,而没工作的时候处于休眠状态。Runloop还可以在loop在循环中的同时响应其他输入源,比如界面控件的按钮,手势等。 Run loop 接收输入事件来自两原创 2015-02-21 14:56:48 · 1110 阅读 · 0 评论 -
iOS-ReactiveCocoa常见宏
ReactiveCocoa常见宏。1 RAC(TARGET, [KEYPATH, [NIL_VALUE]]):用于给某个对象的某个属性绑定。基本用法//1.`RAC(TARGET, [KEYPATH, [NIL_VALUE]])`:用于给某个对象的某个属性绑定。 RAC(self.label,text) = self.textField.rac_textSignal; //相当于:原创 2016-09-18 19:29:19 · 1779 阅读 · 0 评论 -
iOS-ReactiveCocoa
以作用为导向去学习一类新技能,首先了解这个是用来做什么的?首先ReactiveCocoa在github上的截图它的星星相当多,然后它的维护也很勤,更新频率挺高ReactiveCocoa开发中常见用法。在我们iOS开发过程中,当某些事件响应的时候,需要处理某些业务逻辑,这些事件都用不同的方式来处理。 比如按钮的点击使用action,ScrollView滚动使用delegate,属性值改变使用KVO等原创 2016-09-13 13:42:55 · 1195 阅读 · 0 评论 -
iOS-链式编程
链式编程思想:是将多个操作(多行代码)通过点号(.)链接在一起成为一句代码,使代码可读性好。a(1).b(2).c(3)链式编程特点:方法的返回值是block,block必须有返回值(本身对象),block参数(需要操作的值)代表:masonry框架。BabyBluetooth Masonry中的链式可能相对比较零散,并不能体现出链式的任务逻辑连贯性。下面介绍另外一个优秀的第三方框架Bab原创 2016-09-12 14:34:17 · 1272 阅读 · 0 评论 -
iOS-创建单例模式
iOS中创建单例模式 方法一:#pragma mark - 设计单例模式static id _instance;//重写allocWithZone:方法+(instancetype)allocWithZone:(struct _NSZone *)zone{ @synchronized (self) { if (_instance == nil) {原创 2016-03-31 15:30:20 · 1263 阅读 · 0 评论 -
iOS-序列化与反序列化
开篇 1到底这个序列化有啥作用? 面向对象的程序在运行的时候会创建一个复杂的对象图,经常要以二进制的方法序列化这个对象图,这个过程叫做Archiving. 二进制流可以通过网络或写入文件中(来源于某教材的一段话) 本人的理解是当你于写数据需要本地存储时,即将你的数据写到硬盘上的时候,你就必须对他进行序列化,转换成二进制文件,从而便于在磁盘上的读写,同理在取出的时候必须将其在反序列化,这样才能将原创 2015-10-15 23:37:18 · 720 阅读 · 0 评论 -
iOS- 多线程技术的概述及优点
//判断101-200之间有多少个素数,并输出所有素数。void fun_sushu();void fun_sushu(){ int i,j; for (i=101; i<=200; i++) { int flag=1; //此处定义flag变量记录是否素数,否则值变了就无法记录了 for (j=2; j<i; j+原创 2015-07-26 16:01:44 · 1270 阅读 · 0 评论 -
iOS-如何将非ARC的项目转换成ARC项目
1.前言 因为公司有个国外餐饮系统,编程开发了3-4年,之前用的都是非ARC,开发到今年,第一批迭代开发的人员早已不见,目前发现了有许多的内存泄露之类的,系统没有自动释放该释放的内存。一旦app长时间使用,内存没有得到释放,最后导致app闪崩。涉及到的地方特别多,特别繁杂。故我有了打算将此项目完全转换称arc项目的意向。经过1个星期的转换与1个星期的测试,成功将非arc项目转换称arc项目。因为很原创 2015-08-18 16:26:48 · 901 阅读 · 0 评论 -
java-职责链模式
一、定义职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。二、UML结构图协作:当客户提交一个请求时,请求时沿链传递直至有一个ConcreteHandler对象负责处理它。三、总结1、降低耦合性:接送者和发送者都没有对方的明确信息,且转载 2015-02-17 12:24:31 · 997 阅读 · 0 评论 -
iOS- KVC,KVO,NSNotification总结
1.KVC。 KVC是一种间接访问对象属性的机制,而不是直接通过设置器和访问器或者点语法来访问对象属性。 比如:创建一个学生对象。 Student * student = [[Student alloc] init]; [student setValue@”zhangsan”forKey@”_name”];//通过KVO对student对象的_name变量赋值 NSString * str转载 2015-10-07 23:40:47 · 758 阅读 · 0 评论 -
数据请求常规操作步骤
请求数据常规开发步骤: 1、查看接口文档 2、依据参数列表,设置参数模型 3、依据结果,设置结果模型 4、直接拿到对应的工具类处理软件开发步骤: 搭建界面 ————> 展示数据 ————> 处理对应的业务逻辑1、向服务器发送数据 —》一般公司会提供一个接口文档,参照接口文档跟服务器打交道,接口文档(1、请求的url, 2、发送什么样的请求(GET/POST)3、返回数据的格式)2、服务器原创 2015-10-19 19:34:39 · 955 阅读 · 0 评论