草庐IT

我的设计模式之旅、09 工厂方法、简单工厂

编程旅途是漫长遥远的,在不同时刻有不同的感悟,本文会一直更新下去。程序介绍由于Go中缺少类和继承等OOP特性,所以无法使用Go来实现经典的工厂方法模式。不过,我们仍然能实现模式的基础版本,即简单工厂。案例中使用工厂结构体来构建多种类型的武器。因此工厂方法模式代码使用C#表示。Gun:AK47gunPower:4Gun:MusketgunPower:1程序代码、简单工厂模式Golang首先,创建一个名为i­Gun的接口,其中将定义一支枪所需具备的所有方法。然后是实现了iGun接口的gun枪支结构体类型。两种具体的枪支——ak47与mus­ket火枪——两者都嵌入了枪支结构体,且间接实现了所有的i

我的设计模式之旅、10 抽象工厂

一个菜鸟的设计模式之旅,文章可能会有不对的地方,恳请大佬指出错误。编程旅途是漫长遥远的,在不同时刻有不同的感悟,本文会一直更新下去。程序介绍你想要购买一组运动装备,比如一双鞋与一件衬衫这样由两种不同产品组合而成的套装。相信你会想去购买同一品牌的商品,这样商品之间能够互相搭配起来。如果把这样的行为转换成代码的话,帮助创建此类产品组的工具就是抽象工厂,便于产品之间能够相互匹配。案例中Shoe、Shirt是两个抽象产品,具体产品NikeShirt、NikeShoe、AdidasShirt、AdidasShoe是对两个抽象产品的具体分类的实现。ISportsFactory\IAbstractFacto

我的设计模式之旅、10 抽象工厂

一个菜鸟的设计模式之旅,文章可能会有不对的地方,恳请大佬指出错误。编程旅途是漫长遥远的,在不同时刻有不同的感悟,本文会一直更新下去。程序介绍你想要购买一组运动装备,比如一双鞋与一件衬衫这样由两种不同产品组合而成的套装。相信你会想去购买同一品牌的商品,这样商品之间能够互相搭配起来。如果把这样的行为转换成代码的话,帮助创建此类产品组的工具就是抽象工厂,便于产品之间能够相互匹配。案例中Shoe、Shirt是两个抽象产品,具体产品NikeShirt、NikeShoe、AdidasShirt、AdidasShoe是对两个抽象产品的具体分类的实现。ISportsFactory\IAbstractFacto

我的Vue之旅 07 Axios + Golang + Sqlite3 实现简单评论机制

第三期·使用Vue3.1+TailWind.CSS+Axios+Golang+Sqlite3实现简单评论机制效果图CommentArea.vue我们需要借助js的Data对象把毫秒时间戳转化成UTCString()。并在模板表达式中使用{{dateConvert(value.date)}}src="@/assets/avater/hamster.jpg"头像目前目前是固定的,也可以将头像资源地址存入数据库中。获取JavaScript时间戳函数的方法和js时间戳转时间方法_半生过往的博客-CSDN博客_js时间戳转时间dateConvert(date:number):string{returnn

我的Vue之旅 07 Axios + Golang + Sqlite3 实现简单评论机制

第三期·使用Vue3.1+TailWind.CSS+Axios+Golang+Sqlite3实现简单评论机制效果图CommentArea.vue我们需要借助js的Data对象把毫秒时间戳转化成UTCString()。并在模板表达式中使用{{dateConvert(value.date)}}src="@/assets/avater/hamster.jpg"头像目前目前是固定的,也可以将头像资源地址存入数据库中。获取JavaScript时间戳函数的方法和js时间戳转时间方法_半生过往的博客-CSDN博客_js时间戳转时间dateConvert(date:number):string{returnn

我的Vue之旅 06 超详细、仿 itch.io 主页设计(Mobile)

第二期·使用Vue3.1+TypeScript+Router+Tailwind.css仿itch.io平台主页。我的主题HapiGames是仿itch.io的indiegamehostingmarketplace。效果图代码仓库alicepolice/Vueat06(github.com)风格指南当你掌握一门语言的时候,在写项目之前不妨先看看风格指南吧,前人早为你铺好了路。下面是我自己编写项目代码时没有规范到位的几个点。风格指南—Vue.js(vuejs.org)Prop定义Prop定义应该尽量详细,至少需要指定其类型。Props|Vue.js(vuejs.org)Vue的选项式API为我们提

我的Vue之旅 06 超详细、仿 itch.io 主页设计(Mobile)

第二期·使用Vue3.1+TypeScript+Router+Tailwind.css仿itch.io平台主页。我的主题HapiGames是仿itch.io的indiegamehostingmarketplace。效果图代码仓库alicepolice/Vueat06(github.com)风格指南当你掌握一门语言的时候,在写项目之前不妨先看看风格指南吧,前人早为你铺好了路。下面是我自己编写项目代码时没有规范到位的几个点。风格指南—Vue.js(vuejs.org)Prop定义Prop定义应该尽量详细,至少需要指定其类型。Props|Vue.js(vuejs.org)Vue的选项式API为我们提

PHP之旅---出发(php+apache+MySQL)

@目录前言准备php安装Apache安装MySQL安装Navicat安装(附)Apache+php整合验证Apache+php前言本文详细介绍php+apache+MySQL在window下的独立版本安装,这样能让你更了解它们的工作原理,以及后期能熟悉配置出自己所需的个性化环境,我们一起来看看吧~准备php-5.4.8Apache-2.2.22mysql-5.5.22Navicat-8.1forMySQL(操作MySQL的工具)D盘根目录下建立www文件夹(也可在其它盘,本文案例默认D盘)php安装(*安装路径与修改内容路径必须一致)输入文件:php-5.4.8-Win32-VC9-x86.z

PHP之旅---出发(php+apache+MySQL)

@目录前言准备php安装Apache安装MySQL安装Navicat安装(附)Apache+php整合验证Apache+php前言本文详细介绍php+apache+MySQL在window下的独立版本安装,这样能让你更了解它们的工作原理,以及后期能熟悉配置出自己所需的个性化环境,我们一起来看看吧~准备php-5.4.8Apache-2.2.22mysql-5.5.22Navicat-8.1forMySQL(操作MySQL的工具)D盘根目录下建立www文件夹(也可在其它盘,本文案例默认D盘)php安装(*安装路径与修改内容路径必须一致)输入文件:php-5.4.8-Win32-VC9-x86.z

云原生之旅 - 3)基础设施即代码 Terraform 快速入门

前言工欲善其事,必先利其器。本篇文章我们介绍下Terraform,为后续创建各种云资源做准备,比如Kubernetes 关键词:IaC, InfrastructureasCode, Terraform, 基础设施即代码,Terraform例子,Terraform入门,Terraform简介,Terraform实战 Terraform是什么?Terraform是一种安全有效地构建、更改和版本控制基础设施的工具(基础架构自动化的编排工具)。它的目标是"Write,Plan,andcreateInfrastructureasCode",基础架构即代码。Terraform几乎可以支持所有市面上能见到的