1.前言 代理和装饰模式都是对单个对象的封装,不熟悉的朋友可以到设计模式文集中查看一下。若将这个对象扩展一下,让它成为具有某种业务功能的模块,甚至系统,会如何?对,说到底,它仍是一个对象。不过这个对象在工作时,内部的子对…
分类:架构
lintcode 删除二叉查找树的节点
给定一棵具有不同节点值的二叉查找树,删除树中与给定值相同的节点。如果树中没有相同值的节点,就不做任何处理。你应该保证处理之后的树仍是二叉查找树。 样例 给出如下二叉查找树: 5 / \ 3 6 / \ 2 4 删除节点3…
研磨设计模式之单例模式(内部类)
前言 在Java的单例模式里面,很多人都知道懒汉式要比饿汉式更优雅,这里我想告诉你的是,我这里,有一种更优雅的单例设计模式。 相应的基础知识 1、什么是类级内部类? 简单点说,类级内部类指的是,有static修饰的成员内…
程序员的工匠精神
你觉得差不多就行了; 你觉得你达到KPI就OK了; 你觉得你做的再好也没有人知道; 你觉得隔壁敲C++搞算法玩宽客的更挣钱; 你觉得你选错方向了做Android写App没多大意思; 你觉得没必要为了进一步达到完美而付出更…
【翻译】RAML1.0规范: RESTful API模型语言(1)- 根节点
引言 本规范描述了RESTful API建模语言(RAML)。RAML是用于定义RESTful应用程序编程接口(API)的人机交互语言。RAML旨在通过提供API提供者和API消费者可以用作相互契约的格式来改进API的规…
算法总结篇(3)--查找算法
查找算法:就是从一批数据中找到满足指定条件的记录,又称检索。 1)顺序查找:从第一个到最后一个逐个查找。 2)折半查找:二分查找。首先先将数据进行排序,然后再折半查找。 折半查找 /** * Created by mal…
10分钟习得抽象的理念
抽象是我们生活中普遍使用的一个概念,比如说你今天要出门,跟司机说“去科技园”,我们就用到了抽象的概念,我们只描述了去某个地方,而不是深入的描述,“左转,直走一个路口,右拐,直走两个路口”。 抽象能提高我们的效率,不必拘泥…
一文详尽 Android 通信:四大组件之间 & 进程间 & 线程间 & 多个App间
先对曾经点喜欢或者收藏这篇文章的朋友说声抱歉,因部分原因个人决定在简书停更并转移驻扎到其他平台。本想删除账号,可不忍已经点喜欢和收藏的朋友再进入此文章看到 “404” 的页面。所以在下面附上这篇文章转移的新地址。 《一文…
算法总结篇(2)---排序算法
排序算法:就是对数组继续从小到大按顺序的排列 排序算法有如下: 1)冒泡排序:通过相邻的两个数据进行比较,然后排序 O(n^2) 2)选择排序:每一步中选取最小值来从新排序 O(n^2) 3)插入排序:前两个进行比较排序…
设计模式 理解总结
设计模式解决问题步骤 1、寻找合适的对象(合适的分治、拆分) 面向对象设计最困难的部分是将系统分解成对象集合。因为要考虑许多因素:封装、粒度、依赖关系、灵活性、性能、演化、复用等。(面向对象、面向接口编程、函数式编程的闭…
Java架构师的修炼之路
文章开始之前我给大家分享一个java架构交流群 群号:656039503 每天大牛为你直播分享知识点 软件架构作为一个概念,体现在技术和业务两个方面。 从技术角度来说:软件架构随着技术的革新不断地更新其内容,…
网站建设开篇
这篇文章是小白从0建设网站的心路历程,以及一些会在后续文章中涉及的话题简介。 图文 / 丁建雄 小白是单纯为兴趣而写作的独立创作人,如果您喜欢小白的文章,欢迎关注、交流、分享(引用请链接到本文)。 缘起 做任何事情都有一…