摘要: C++11多线程std::thread的简单使用 在cocos2dx 2.0时代,我们使用的是pthread库,是一套用户级线程库,被广泛地使用在跨平台应用上。但在cocos2dx 3.0中并未发现有pthread的支持文件,原来c++11中已经拥有了一个更好用的用于线程操作的类std::threa 阅读全文
posted @ 2018-09-19 15:36 行者林 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 单例类,通过使用private的构造函数确保一个应用中只产生一个实例,并且是自行实例化。通用代码如下: 单例模式的优缺点: 由于单例在内存中只有一个实例,减少内存开支,特别是对象需要频繁创建和销毁时; 当单例模式只产生一个对象,当对象的产生需要较多资源,比如读取配置文件、产生其他依赖对象时,可以使用 阅读全文
posted @ 2018-09-18 22:14 行者林 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 单个类保持功能尽量单一,如果组合了多个功能,需要抽象出多个接口,对外提供单一视图。 这样做的好处很多,包括: 类的复杂度降低,实现什么职责都有了清晰的定义,因此也提高了可读性 可维护性提高,更易于扩展 变更风险小,如果接口的单一职责明确,修改接口只会对实现类产生影响,而不会影响其他接口 面向对象中, 阅读全文
posted @ 2018-09-16 23:18 行者林 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 不要在新代码中使用原生态类型 原生态类型就是简单的“<>”,没有任何参数类型限定,和没有使用泛型一样,之所以存在无非是为了保持前向兼容性,因为没有起到泛型应有的作用,所有不建议使用。 不要忽视非受检警告,并接受它 每一条受检警告都可能抛出类型转换异常,只有在明确知道不会有转换异常的时候,才可以用@S 阅读全文
posted @ 2018-09-14 00:07 行者林 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 使类和成员的可访问性最小化 一个模块设计良好与否,最重要的因素在于,这个模块对于外部的其他模块而言是否隐藏了内部数据和其他实现细节,模块之间仅仅通过API通信,这是软件设计的基础,因此,除了公有静态final域的特殊情形之外,公有类都不应该包含公有域,并且要确保公有静态final域不包含可变对象的引 阅读全文
posted @ 2018-09-12 00:14 行者林 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 第一条: 使用静态工厂方法代替构造函数 这里说的静态工厂方法并不直接对应于设计模式中的工厂方法,它具有一下几个优势: 2.不必在每次调用时都创建新对象,单例模式一般都是用静态工厂方法 3.可以返回原返回类型的任何子类型对象,这也是典型的里氏替换原则,如下所示: 遇到多个构造器参数时,考虑使用构建器 阅读全文
posted @ 2018-09-09 20:24 行者林 阅读(595) 评论(0) 推荐(0) 编辑
摘要: 一 项目工程目录 二 创建父工程 三 创建公共工具类 三 创建开发项目 四 创建开发项目子模块 五 运行项目 一 项目工程目录 二 创建父工程 三 创建公共工具类 三 创建开发项目 四 创建开发项目子模块 五 运行项目 一 项目工程目录 二 创建父工程 三 创建公共工具类 三 创建开发项目 四 创建 阅读全文
posted @ 2018-01-03 10:40 行者林 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 加入购物车功能 查找用户ID和产品ID号,如果还没加购物车,则设为选中状态,并新增一个,已经加入了就使购买数量加1,同时对库存和购买数量作联动校验,最后记得更新到数据库中。 这里封装了一个BigDecimal类,用于计算加减乘除的运算,相比原生的类,这个可以保证浮点操作的精度最佳, 更新、删除购物车 阅读全文
posted @ 2017-12-11 23:00 行者林 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 深入了解MyBatis参数 相信很多人可能都遇到过下面这些异常: "Parameter 'xxx' not found. Available parameters are [...]" "Could not get property 'xxx' from xxxClass. Cause: "The 阅读全文
posted @ 2017-12-11 21:36 行者林 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 登录功能 Controller层实现如下,其中,Const是一个新建的状态类,存储各类常量值,包括当前登录用户的字符串名称,并将它会作为键值存储在Session域中。 这是Service层的实现代码,首先接收到Controller层传递过来的用户名和密码,在数据库中校验用户名,然后对密码进行MD5加 阅读全文
posted @ 2017-12-11 21:27 行者林 阅读(267) 评论(0) 推荐(0) 编辑