架构设计基础

设计模式分类

2019-03-24  本文已影响0人  架构师的一小步

UML类图关系

泛化关系(generalization):继承
实现关系(realization):接口
依赖关系(dependency)
关联关系-单向关联(Directed Association)
关联关系-双向关联(Association)
聚合关系(Aggregation)
组合关系(Composition)

总结设计模式经验思想

架构学习经验->分析陌生框架经验
1.基本概念(了解)
2.确定框架模式

第一大步:分析框架?架构师入门(1-3级)
架构设计学习思路?->学习框架指导思想(方针)
分为三个部分?
第一个部分:分析框架结构
第一步:分析框架本身核心设计模式?
本身框架:多种设计模式融合在一起的设计
核心设计模式
数据库框架->构建者模式
辅助设计模式
例如:命令模式
第二步:确定辅助设计模式?
构建者模式
第三步:分析核心设计模式角色划分?
命令模式角色
复习即可(4个角色)
第四步:分析框架类对应的核心模式角色以及子类角色?
4个角色分别对应框架中那个类
第五步:分析辅助设计模式角色划分?
第六步:分析框架类对应的辅助模式角色以及子类角色?
第二个部分:分析框架具体实现?
第一步:分析核心设计模式角色实现?(筛选)
需要什么模块,你就分析什么模块
第二步:分析辅助设计模式角色实现?(筛选)
第三步部分:分析框架性能优化问题?
第一步:分析核心设计模式角色实现?(筛选)
需要什么模块,你就分析什么模块
第二步:分析辅助设计模式角色实现?(筛选)
第二大步:架构师晋升->修改框架源码,优化框架代码,变为自己的框架(4-6级),并且发不到github上面,今后用于面试,任何框架给到你都能够变成自己的(我也在每天在努力学习精进)
处于这个级别

所有面向对象语言对于你来说都是不成问题的

第三大步:架构师大师->创造框架(7-9级)

5、学习方法?
如何发现呢?
分析设计思路,如何找到答案?
学习了设计模式(首先一上来就是设计模式分析学习)

        第一步:分析框架,使用框架,基本API使用你完全熟悉?
            
        第二步:核心类?
            Connection
        第三步:分析功能?
            思考:他的SQL是如何构建?
                查看源码你会发现TableBuilder->对应就是构建者模式
            万一没有按规范怎么办?
                解决方案
                    1、分析该功能场景是什么?
                        每一种设计模式都有他的对应的场景
                    2、采用设计模式进行对比?
                        一个个去套或者尝试
                        类结构划分
                        直到到准了为止,可能会有误差,但是没关系,如果你的设计模式掌握的好,那么一套就准。
                        SDWebImage教你如何来套?
                方法学习了之后马上用,用错了没关系,总结经验即可。

内容二:框架设计实现?

1、再来一个方法:一般优秀框架都会有一些注视(有助于分析框架设计)
    反问自己:这个数据库目的为了什么?
        目的为了构建SQL语句
    反问自己:如何构建呢?数据库表字段,对象属性是如何对应的呢?          
        当我去翻阅代码时候->察觉到->Binding
        `Binding` is a protocol that SQLite.swift uses internally to

directly map SQLite types to Swift types.
含义:将SQLite数据库里面表字段映射到Swift中的对象属性
简单:说白了就是将数据库表字段和属性动态绑定
将name = "NSLog",t_name
name->映射->t_name
中间映射过程有框架动态完成(动态绑定)
反问自己:绑定有方向?
数据库->映射->Swift属性:Binding
Swift属性->映射->数据库:Value->Expressible
extensions cannot have inheritance clauses
插入数据->String->映射类型->TEXT
成立了

上一篇下一篇

猜你喜欢

热点阅读