一、注()里的内容是自己的吐槽 二、命名规约 1.不能以下划线或美元符开始和结尾。反例:_name,$name,name_,name$.(我就从来没这样用过) 2.不能使用拼音和英文组合方式命名。更不能以拼音命名(英语烂…
标签:架构
设计模式(四)——抽象工厂模式
本文属于系列文章《设计模式》,附上文集链接 不知道看上一篇的时候,有没有看到一个问题,如果只是简单的工厂,为什么要一个抽象工厂类?那个抽象类完全没必要啊,直接用一个工厂类,传入class参数,不就行了吗?这里就来了,抽象…
发布和逸出
概念 发布一个对象(publish): 使对象能够在当前作用域范围之外的代码中使用; 逸出(escape): 当某个不应该发布的对象被发布出去的情况; 发布对象的两种方法: 将对象的引用保存到一个公有的静态变量中…
lintcode 二叉树的层次遍历
给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问) 样例 给一棵二叉树 {3,9,20,#,#,15,7} : 3 / 9 20 / 15 7 返回他的分层遍历结果: [ [3], [9,20], [15,7] …
C++的std::sort排序所使用的函数对象工厂踩坑记录
注:本文的内容并非C++11。不知道目前是什么情况,是否能够解决这个问题。 在工作中,遇到了这样一种情况: 使用std::vector<MyClass>存储了一系列数据,用于表格展示,MyClass中的每一个…
BOM概述
BOM 概述 1. BOM(浏览器模型) Browser Object Moder 浏览器对象模型 什么是BOM ? BOM 是JS 的组成之一, 事项和HTML 的交互 BOM 中提供了非常对的对象,用于访问浏览器的 …
如何高效阅读优秀的源代码?
开始聊这个话题之前,我们需要知道:什么样的代码是优秀的源代码?为什么要阅读它们?优秀的代码如同好文章一样,文章有明确的主题、清晰的层次,代码则表达了特定的功能、严密的逻辑。好的代码不仅实现了强大的功能,而且模块化鲜明,让…
数人云|给还在犹豫选择的你,微服务架构与整体架构的各自优势
微服务目前是软件开发的一种新趋势,我们所熟知的谷歌、亚马逊,Netflix等都在使用微服务架构。 但微服务架构与整体架构的区别在哪?微服务架构又需要注意哪些运营成本?数人云今天给大家带来的文章将阐述这几个问题。 本文我们…
剑指offer第二版-65.不用加减乘除做加法
本系列导航:剑指offer(第二版)java实现导航帖 面试题65:不用加减乘除做加法 题目要求: 写一个函数,求两个正数之和,要求在函数体内不能使用四则运算符号。 解题思路: 不能用四则运算,那只能通过位运算了。其实四…
重构的思考
项目先是实现功能! 当项目越来越大的时候,发现维护起来就费劲了! 在这个过程中,开发,重构,测试! 有利于后期维护项目! 重构的作用是,写尽量少的代码,实现尽量多的功能! 重构还可以把一些垃圾的,效率低的代码,重新调整成…
lintcode 中序遍历和后序遍历构造二叉树
根据中序遍历和后序遍历树构造二叉树 注意事项 你可以假设树中不存在相同数值的节点 样例 给出树的中序遍历: [1,2,3] 和后序遍历: [1,3,2] 返回如下的树: 2 / \ 1 3 题目链接:http://www…
如何做好项目结构规划
在另一篇文章中说明了“规划项目结构”的重要性,在这篇文章中则要来谈谈如何实践。 决定结构的依据 在决定项目结构的分类方式时,不外乎是依 Feature 或是依 Layer 来设置所谓的 Package 或是 Namesp…