学习目标: 1.理解松耦合设计思想 2.掌握面向对象设计原则 3.掌握重构技法改善设计 4.掌握GOF核心设计模式 从面向对象谈设计模式: 1.底层思维:向下,如何掌握机器底层,从微观理解对象构造 语言构造 编译转换 内存模型 运行时机制 →封装,隐藏内部实现 →继承,复用现有代码 →多态,改写对象 ...
分类:
其他好文 时间:
2019-06-25 23:22:13
阅读次数:
170
IOC与DI的区别? IOC:控制反转(Inversion of Control是面向对象的一种设计原则,可以用来降低计算机之剑的耦合度,其中最常见的是依赖注入).是实现的目标 DI:是实现IOC的一种手段Dependency Injection 简称DI DL:依赖查找 Dependency Lo ...
分类:
编程语言 时间:
2019-06-24 22:46:20
阅读次数:
159
一、引言 C#版本的23种设计模式已经写完了,现在也到了一个该总结的时候了。说起设计模式,我的话就比较多了。刚开始写代码的时候,有需求就写代码来解决需求,如果有新的需求,或者需求变了,我就想当然的修改自己的代码来满足新的需求,这样做感觉是理所当然的,也没感觉有什么不妥的地方。写了两年多代码,偶尔一次 ...
1.找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起. 分离变化与不变化的部分,框架实际就是把业务与其余不变的代码进行分离,好让程序员更好的进行 if else 操作. 2.针对接口编程,不针对实现编程. 面向抽象,不面向具体的实现,代码如果依赖于具体的实现可拓展性比较 ...
分类:
其他好文 时间:
2019-06-24 00:47:24
阅读次数:
89
算法就是解决问题的步骤,在一般的项目中可能用不上,但是一旦涉及到高并发,高性能时,就不得不考虑算法的优劣。 设计原则和特性 设计原则:正确性,可读性,健壮性,高效率和低存储 特性:有穷性,确定性,可行性,有输入,有输出。 算法题入门体验 如何判断是一个数是2的整数次幂?常规方法使用循环,但是在学习了 ...
分类:
编程语言 时间:
2019-06-23 01:11:53
阅读次数:
156
Spider基本上能做很多事情了,但是如果你想爬取全站的话,可能需要一个更强大的武器。CrawlSpider基于Spider,但是可以说是为全站爬取而生。CrawlSpiders是Spider的派生类,Spider类的设计原则是只爬取start_url列表中的网页,而CrawlSpider类定义了一 ...
分类:
其他好文 时间:
2019-06-21 12:47:02
阅读次数:
81
重新认识面向对象: >理解隔离变化 ·从宏观层面来看,面向对象的构建方式更能适应软件的变化,能将变化所带来的影响减为最小>各司其职从微观层面来看,面向对象的方式更强调各个类的“责任”由于需求变化导致的新增类型不应该影响原来类型的实现--是所谓各负其责>对象是什么?从语言实现层面来看,对象封装了代码和 ...
分类:
其他好文 时间:
2019-06-19 16:41:29
阅读次数:
102
在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据 7 条原则来开发程序,从而提高软件开发效率、节约软件开发成本和维护成本。 各位代码界的大佬们总结出的七大设计原则,还是需要好好了解一下 1.开闭原则 开闭原则(Open Closed Principle ...
分类:
编程语言 时间:
2019-06-16 14:03:42
阅读次数:
137
一、介绍 互联网的应用场景中,为了支持高并发的请求,服务都是执行的分布式部署,相同的任务可以在集群中不同的服务器上执行,并且现在的服务容器都是支持多线程,相同的任务也可能会被同一个容器多次执行,都要求执行结果都满足幂等性的设计原则。 分布式锁,就是为了确保在分布式的环境下,相同任务只会执行成功的执行 ...
分类:
其他好文 时间:
2019-06-14 01:14:30
阅读次数:
171
ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有 ...
分类:
数据库 时间:
2019-06-13 13:46:36
阅读次数:
99