温智全的博客

Elvin wen's Blog

“设计模式是软件开发人员在开发过程中可以遵循的一般问题的解决方案。”

简介

由于简单工厂模式每次增加新的产品时,都需要修改工厂类,违背了开闭原则,可以通过定义工厂类的父类,为每种产品都创建一个工厂,从而动态的获取子类,并且增加产品时增加工厂子类即可,不用修改工厂父类。

阅读全文 »

“设计模式是软件开发人员在开发过程中可以遵循的一般问题的解决方案。”

简介

简单工厂模式是最简单的设计模式之一,简单到甚至没有放到23种常用设计模式当中,可以用于设计模式的入门学习。

阅读全文 »

Thrift 是一种可扩展、跨语言的服务开发框架,用于各个服务之间的 RPC 通信。

概述

Thrift 最初由 Facebook 于 2007 年开发,2008 年进入 Apache 开源项目。Thrift 主要用于各个服务之间的 RPC 通信,是一种可扩展、跨语言的 RPC 服务开发框架,其服务端和客户端可以用不同的语言来开发。只需要依照 IDL(Interface Description Language)定义一次接口,Thrift 工具就能编译生成 C++, Java, Python, PHP, Ruby, JavaScript, Node.js 等语言的代码。

阅读全文 »

RPC 的主要功能目标是让构建分布式计算(应用)更容易,在提供强大的远程调用能力时不损失本地调用的语义简洁性。

概述

什么是 RPC

RPC,全称为 Remote Procedure Call,即远程过程调用,是一种进程间的通信方式。它能够实现从主机 A 调用可达地址空间中另一台主机 B 上的过程或函数,而程序员并不需要显示的编码其调用过程。也即是说对于程序员来说,这个调用过程是透明的,本地调用和远程调用所用代码基本是相同的。

阅读全文 »

Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。

之前一直使用的是基于 jekyll 的博客系统,但是功能不是十分的强大,最近老铁安利了 Hexo 这个博客系统,同时也想对自己以前的博文进行整理,所以开始准备将以前基于 jekyll 的博文迁移至 Hexo

阅读全文 »

“本章将从宏观的层面上介绍 Spring。”

简化 Java 开发

Spring 采取 4 种关键策略简化 Java 开发:

  • 基于 POJO 的轻量级和最小侵入性编程
  • 通过依赖注入和面向接口实现松耦合
  • 基于切面和惯例进行声明式编程
  • 通过切面和模板减少样板式代码
阅读全文 »

“代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步。”

概述

虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型,这就是虚拟机的类加载机制。

在 Java 语言中,类的加载、连接和初始化过程都是在程序运行期间完成的,为 Java 应用程序提供了高度的灵活性。

阅读全文 »

“Java 与 C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。”

运行时数据区域

按照 java 虚拟机规范,抽象的 Java 虚拟机如下图所示:

阅读全文 »

“设计模式是软件开发人员在开发过程中可以遵循的一般问题的解决方案。”

简介

所谓模式,就是在特定环境下人们对某类重复出现的问题提出的一套有效的解决方案。

而设计模式(Design Pattern),则是针对软件设计过程中,可能遇到的重复问题的合理解决方案。

设计模式提出的根本目的就是解决现实生活中的问题,每种设计模式都有对应的现实问题及其解决方案,找到对应的问题便能够快速的利用设计模式进行解决。

设计模式一般包含模式名称、解决的问题,解决方案和应对效果等部分。

使用设计模式的目的是为了提高代码的可重用性;按照一定的规则编写代码,能够让自己的代码更加容易被其他编程人员所理解;同时,在一定的规则内编写代码,可以在一定程度上提升代码的可靠性。

阅读全文 »

“IDEA是jetbrains公司开发的Java开发IDE,功能齐全。使用IDEA搭建SSM开发环境简单有效。本项目基于Spring,Spring MVC和MyBatis进行开发,模板引擎为Thymeleaf。”

主要功能概述

因为是为超市定制的管理系统,所以只会有内部人员进行使用,这就意味着新用户是需要拥有权限的人来进行添加,故需要实现的功能主要包括以下两点:

  • 用户添加
  • 用户登录

这两点功能中又包含了一些更细小的功能,将在后续章节进行详细的介绍。

阅读全文 »