架构及设计
文章平均质量分 75
qq_16956581
这个作者很懒,什么都没留下…
展开
-
代码重构之一 变质的代码
所谓重构:就是在不改变代码的外在行为的原创 2014-08-02 09:32:38 · 478 阅读 · 0 评论 -
学习笔记:粒度设计 粗粒度与细粒度 (-)
粗粒度和细粒度的区别主要是出于重用的目的,像类的设计,为尽可能重用,所以采用细粒度的设计模式,将一个复杂的类(粗粒度)拆分成高度重用的职责清晰的类(细粒度).对于数据库的设计,原责:尽量减少表的数量与表与表之间的连接,能够设计成一个表的情况就不需要细分,所以可考虑使用粗粒度的设计方式. 简单点,给你两个接口,你看看细粒度的查询任务的接口interface TaskService{转载 2015-06-16 16:10:24 · 2231 阅读 · 0 评论 -
学习笔记:胖model和瘦model
今天业务完成到一定程度,查看下代码,猛然发现目前的这个代码有点奇怪。奇怪就奇怪在我的model中有很多文件,每个文件都对应数据库中的一张表,然后每个model中有很多是几乎没有什么逻辑代码的。比如:这个原因是什么呢,因为rdb_model这个类实现了ORM,我继承这个类才能使用ORM的那些操作。 但是这个确实让我很不爽,一个神马东西都没有的类为什么要写呢?引申出的一个问题是到底是胖转载 2015-06-17 16:53:49 · 1032 阅读 · 0 评论 -
学习笔记:架构 移动应用架构 view层的组织和调用方案(二)
当我们开始设计View层的架构时,往往是这个App还没有开始开发,或者这个App已经发过几个版本了,然后此时需要做非常彻底的重构。一般也就是这两种时机会去做View层架构,基于这个时机的特殊性,我们在这时候必须清楚认识到:View层的架构一旦实现或定型,在App发版后可修改的余地就已经非常之小了。因为它跟业务关联最为紧密,所以哪怕稍微动一点点,它所引发的蝴蝶效应都不见得是业务方能够hold住的转载 2015-06-04 16:47:09 · 914 阅读 · 0 评论 -
学习笔记:架构 移动应用架构 网络层设计方案(三)
前言网络层在一个App中也是一个不可缺少的部分,工程师们在网络层能够发挥的空间也比较大。另外,苹果对网络请求部分已经做了很好的封装,业界的AFNetworking也被广泛使用。其它的ASIHttpRequest,MKNetworkKit啥的其实也都还不错,但前者已经弃坑,后者也在弃坑的边缘。在实际的App开发中,Afnetworking已经成为了事实上各大App的标准配置。网络层在一个Ap转载 2015-06-05 11:20:45 · 929 阅读 · 0 评论 -
学习笔记:架构 移动应用架构 开篇(一)
做架构要考虑的事情:调用网络API页面展示数据的本地持久化动态部署方案上面这四大点,稍微细说一下就是:如何让业务开发工程师方便安全地调用网络API?然后尽可能保证用户在各种网络环境下都能有良好的体验?(网络接口)页面如何组织,才能尽可能降低业务方代码的耦合度?尽可能降低业务方开发界面的复杂度,提高他们的效率?(页面组织)转载 2015-06-04 10:46:21 · 904 阅读 · 0 评论 -
学习笔记:MVVM模式 ReactiveCocoa 和 MVVM 入门
翻译自ReactiveCocoa and MVVM, an Introduction. 文中引用的 Gist 可能无法显示。为了和谐社会, 请科学上网。MVC任何一个正经开发过一阵子软件的人都熟悉MVC,它意思是Model View Controller, 是一个在复杂应用设计中组织代码的公认模式. 它也被证实在 iOS 开发中有着第二种含义: Massive View Control转载 2015-06-09 17:07:40 · 373 阅读 · 0 评论 -
学习笔记:函数式编程
我主要参考了Slava Akhmechet的"Functional Programming For The Rest of Us"。一、定义简单说,"函数式编程"是一种"编程范式"(programming paradigm),也就是如何编写程序的方法论。它属于"结构化编程"的一种,主要思想是把运算过程尽量写成一系列嵌套的函数调用。举例来说,现在有这样一个数学表达式: (1 +转载 2015-06-11 15:41:04 · 267 阅读 · 0 评论