Laravel 搭建 Composer 包,实现配置 Config、门面 Facade、服务 Service、发布到 Packagist 58847 Laravel / 4378 / 7 / 发布于 1年前 / 更新于 1年前 好久没写 php 代码,有需求要写一个内部使用的包,折腾了半天,用最简单 ...
分类:
其他好文 时间:
2021-01-04 10:38:33
阅读次数:
0
一.前言 在这次的高级软件工程课程中,我学会了什么是软件:软件的基本构成元素、软件的基本结构、软件中的一些特殊机制和软件的内在特性。软件设计模式:设计模式涉及的基本概念、设计模式的分类、常用的设计模式和设计模式背后的设计原则。常用的软件架构:MVC,MVVM等。软件架构的描述方法:分解视图Decom ...
分类:
其他好文 时间:
2021-01-02 11:09:03
阅读次数:
0
一.前言 该博客主要针对工程实践项目的软件系统设计方案做一个简要的总结。包括总结软件结构特点(比如设计模式,架构风格),并通过不同视图来描述软件系统的概念原型。 有关本工程实践项目的介绍以及需求分析,可以见以下链接: https://www.cnblogs.com/chuanguo/p/140831 ...
分类:
其他好文 时间:
2021-01-01 12:39:51
阅读次数:
0
class User { int _id; public int Id { get { return _id; } set { _id = value; } } string _name; public string Name { get { return _name; } set { _name ...
分类:
其他好文 时间:
2021-01-01 12:10:52
阅读次数:
0
这节讲一下享元模式(Flyweight Pattern)。 在设计一个程序的时候,有时候我们会遇到构建大量重复实例的问题,比如一个五子棋游戏,每一个棋子都是一个对象,它们占据了很大的资源,但是这些对象实际上内部的差别很小,这种情况就催生了享元模式的形成。 享元(Flyweight)模式的定义:运用共 ...
分类:
其他好文 时间:
2020-12-31 12:56:02
阅读次数:
0
一、重新认识面向对象 理解隔离变化 宏观上,面向对象的构建方式更能适应软件变化,将变化带来的影响减为最小; 各司其职 微观上,面向对象更强调各个类的责任; 由于需求变化导致的新增类型不应原来类的实现 对象是什么? 从语言实现层面来看,对象封装了代码和数据; 从规格层面讲,对象是一系列可被使用的公共接 ...
分类:
其他好文 时间:
2020-12-31 12:49:37
阅读次数:
0
DesignPartternAdapter适配器模式 定义 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。 go大牛的参考 package adapter //Target 是适配的目标接口 type Ta ...
分类:
其他好文 时间:
2020-12-30 10:41:38
阅读次数:
0
前言Java程序员以前连接数据库是这样的现在连接数据库是这样的在传统的JDBC实现中,我们需要把查询过程写在Java类中,这样非常不便于后期维护。而使用Mybatis则可以将查询语句配置在配置文件中,只需要维护好映射关系即可。Mybatis是一个开源的轻量级半自动化ORM框架,使得面向对象应用程序与关系数据库的映射变得更加容易。熟悉Mybatis的都知道,其源码里涉及到非常多的设计模式,比如设计模
分类:
其他好文 时间:
2020-12-29 11:06:38
阅读次数:
0
深入理解JavaScript的设计模式图片作者|SukhjinderArora编辑|谢丽使用适当的设计模式可以帮助你编写更好、更易于理解的代码。这样的代码也更容易维护。但是,重要的是不要过度使用它们。在使用设计模式之前,你应该仔细考虑你的问题是否符合设计模式。当你开始一个新的项目时,你不会立即开始编码。你必须定义项目的目的和范围,然后列出项目特性或规格说明。之后,你可以开始编写代码,或者,如果你正
分类:
编程语言 时间:
2020-12-25 12:43:42
阅读次数:
0
建造者模式对客户端屏蔽了复杂对象的创建过程,而且复杂对象的创建步骤交给一个指挥者(Director)进行封装,提供出一个简单明了的方法供上层模块使用。 eg: 以客户需要建一所新的房子为背景: 定义客户为客户端(上层使用模块 Client) 包工头为指挥者(Director) 施工队资质为抽象建造者 ...
分类:
其他好文 时间:
2020-12-24 11:39:09
阅读次数:
0