
软件工程
文章平均质量分 72
XiaoXinHuang
这个作者很懒,什么都没留下…
展开
-
领域驱动设计-什么是领域驱动设计和怎么使用它
这篇文章讨论领域驱动设计(DDD),DDD是建立在面向对象分析设计上开发软件的一种方法。 通过这篇文章我们解释什么是领域驱动设计,在现代开发周期中如何实现,使用DDD的优点和缺点。什么是领域定义DDD之前我们首先必须要说明在开发中”领域”的含义。领域在字典中的解释是:“活动或者知识的范围”,更深层次的来讲,软件工程中领域指的是软件应用的地方。 换句话说,在软件开发中,领域指的是”应用程序逻辑范围的知识和活动”另一个在软件开发中常使用的术语是领域层或领域逻辑,对于开发者来说,说成是业务逻辑或许应该原创 2020-07-20 14:29:39 · 282 阅读 · 0 评论 -
软件测试tip
分层的变化:界面层,接口层,业务逻辑层,实体模型层部署的变化:从单机运行到双机热备份再到负载均衡,最近进化到分布式系统。存储的变化:关系型数据库,非关系型数据库,缓存数据库,搜索引擎数据库Database -> Component->Service->API->UICache|SearchEngine Database|NoSQL->Messag...原创 2020-01-13 11:47:39 · 465 阅读 · 0 评论 -
rgb cmyk lab的区别
Lab色彩模型是由照度(L)和有关色彩的a, b三个要素组成。L表示照度(Luminosity),相当于亮度,a表示从红色至绿色的范围,b表示从蓝色至黄色的范围。如果我们想在数字图形的处理中保留尽量宽阔的色域和丰富和色彩,最好选择Lab色彩模型进行工作,图像处理完成后,再根据输出的需要转换成RGB(显示用)或CMYK(打印及印刷用)色彩模型,在Lab色彩模型下工作,速度与RGB差不多快,但比CMY...原创 2019-02-01 10:11:06 · 1992 阅读 · 0 评论 -
6个重构方法提升80%的代码质量
在走读了一些代码之后,发现了一些代码质量普遍存在的问题,以下是其中的前五名:1、臃肿的类:类之所以会臃肿,是因为开发者缺乏对最基本的编码原则,即“单一原则(SRP)”的理解。这些类往往会变得很臃肿,是因为不同的且在功能上缺少关联的方法都放在了相同的类里面。2、长方法:主要由于以下原因造成的(1)、许多没有关联性的,功能复杂的模块的代码都放在相同的方法内,这主要还是开发者缺少SRP概念(2)...原创 2019-03-15 10:32:00 · 319 阅读 · 0 评论 -
什么是设计模式?
什么是设计模式?设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结.个人理解:软件设计的某些特定场合的某些问题的解决思路. 是前人经过大量的实践,总结出来的无论从效率上,扩展性,复用性,可靠性等方面都显现出优势的解决思路。设计模式的作用是什么?设计的重用;为设计提供共同的词汇,每个模式名就是一个设计词汇,其概念使得...原创 2019-03-13 11:42:03 · 193 阅读 · 0 评论 -
设计模式之适配器模式
定义:适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配而无法在一起工作的两个类能够在一起工作。理解:把多个无关的类匹配同一个接口,客户端实例化接口,使形成一个公共常用的的类结构。例子:网购支付:(工商支付,建设支付2种)很显然这是两个不同的开发商做的开发,故提供的接口方法不一致,也理所当然。共性:获取支付账号,支付欠款,返回处理信息。不同:提供接口,...原创 2019-03-13 11:49:24 · 190 阅读 · 0 评论 -
平面设计常用的图像文件格式
1.bmp bmp格式是微软制定的图形标准,最大的优点就是在pc上兼容度一流,就算不装任何看图软件,用windows的画笔一样可以看。储存为bmp格式的图形不会失真,但容量会很大。 2.jpg jpg格式是目前网络上最流行的图形格式,它可以把文件容量压缩到最小的格式。jpg支持不同程度的压缩比,您可以视情况调整压缩倍率,压缩比越大,品质就越低;相反地,压缩比越小,品质就越好。不过要注意的一...翻译 2019-02-01 10:11:53 · 2035 阅读 · 0 评论 -
SGML、HTML和XML之间的关系
SGML、HTML是XML的先驱。SGML(Standard Generalized Markup Language),即标准通用标记语言,是1986年出版发布的一个信息管理方面的国际标准(ISO 8879)。该标准定义独立于平台和应用的文本文档的格式、索引和链接信息,为用户提供一种类似于语法的机制,用来定义文档的结构和指示文档结构的标签。其中Markup的含义是指插入到文档中的标记。标记分为...翻译 2019-02-01 10:13:08 · 1235 阅读 · 0 评论 -
字符集和字符编码
1、起源 - ASCII我们都知道在计算机内部,所有的数据在存储和运算的时候都应该使用二进制进行表示。例如字母,数字等等。通过二进制进行表示,我们可以指定很多规则来表示这些字符,为了避免不一致性,美国国家标准学会(American National Standard Institute , ANSI )制定了 ASCII(American Standard Code for Informati......原创 2019-02-19 11:13:56 · 312 阅读 · 0 评论 -
程序设计的三层架构
/*三层架构就是将原本的程序进行一定程度的分离以达到代码尽量少重复,易于维护,容易理解的目的所谓的层就是文件的一些分离,(分离的时候有讲究的,一个文件一般只专注于一减事)对于初学者这个三层架构不太好理解为什么要分开原来的程序呢?感觉分开了好像更烦啊,还不如包含在一个文件里面呢,好理解。其实这种想法是错误的,当自己写一个项目的时候如果不对代码进行分层会使得代码大量的重复,极难维护......原创 2019-02-19 11:18:05 · 878 阅读 · 0 评论 -
软件设计的原则
了解设计模式的朋友们,想必都听说过“六大设计原则”吧。其实最经典的 23 种设计模式中或多或少地都在使用这些设计原则,也就是说,设计模式是站在设计原则的基础之上的。所以在学习设计模式之前,很有必要对这些设计原则先做一下了解。GoF(四人帮),传说中的四位大神们,他们联手搞出了一套设计模式,堪称 OOD(面向对象设计)的经典之作!震惊了整个软件开发领域。但这四个老家伙非常怪异,总是喜欢显摆一些高......原创 2019-02-25 14:15:29 · 535 阅读 · 0 评论 -
知识分类
实际开发中经常使用的(牢牢掌握)不经常使用时就能够查得到的(了解)八辈子用不着一回的(根据自己的能力去了解)原创 2019-02-25 14:16:31 · 234 阅读 · 0 评论 -
面向对象设计思想
1、面向过程我开车、我挂档、我踩油门、我过河北、我过山西2、面向对象我命令车去新疆车怎么去我不管(信息封装在车这个类里面。我不用去了解整个开动的过程)当碰到某个问题的时候,把里头的对象抽象抽象、分类、继承、多态类是用于描述同一类型的对象的一个抽象的概念,类中定义了这一类对象所具有的动态和静态属性对象可以看成是类的具体实现继承关系:一般和特殊(xx是一种...原创 2019-02-25 14:17:03 · 203 阅读 · 0 评论 -
架构师的九项绝技
耐得住寂寞在你的研究领域,有可能是孤独的,可能没有人和你一起研究,没有人和你一起讨论。也许是很枯燥的。你学到的某项技能也许没有应用场景,永远都不会被别人发现。强大的内心你提供的方案有可能会引来无数的指责声、甚至是嘲笑声,尤其是在某项技术引进的前期。这是很正常的,无论你的方案有多完美,总有一些小疏忽,这给了反对者充分的理由。“我说这样不行吧,你看是不是出问题了~~~”“架构师也能犯这种低......原创 2019-02-25 14:19:50 · 187 阅读 · 0 评论 -
HTTP使用BASIC认证的原理及实现方法
一. BASIC认证概述在HTTP协议进行通信的过程中,HTTP协议定义了基本认证过程以允许HTTP服务器对WEB浏览器进行用户身份证的方法,当一个客户端向HTTP服务 器进行数据请求时,如果客户端未被认证,则HTTP服务器将通过基本认证过程对客户端的用户名及密码进行验证,以决定用户是否合法。客户端在接收到HTTP服务器的身份认证要求后,会提示用户输入用户名及密码,然后将用户名及密码以BA...翻译 2019-02-02 09:49:02 · 1376 阅读 · 0 评论 -
编程语言的发展
机器语言一直接由计算机的指令组成,指令、数据、地址都以“0”和“1”的符合串 组成;可以被计算机直接执行。汇编语言一用容易理解和记忆的符号表示指令、数据以及寄存器等,抽象层次很低,程序员需要考虑大量的机器细节。高级语言一屏蔽了机器细节,提高了语言的抽象层次接近于人的自然语言,60 年代出现的结构化编程语言提出了结构化数据和语句,数据和过程抽象等概念。面向对象的语言一与己往的各种语言的根...原创 2019-02-19 11:10:22 · 505 阅读 · 0 评论