C语言
文章平均质量分 53
雷霆小屁熊
这个作者很懒,什么都没留下…
展开
-
C 语言面向对象-- 继承
在Java语言中,如果我们想实现继承,那我们会这样写。 比如我们要定义一个 Person 类,然后定义一个Student 类继承自Person 类,public class Person { private String name; private int age; public Person(String name, int age) { th原创 2017-09-04 10:15:03 · 2847 阅读 · 0 评论 -
设计模式--适配器模式
说道适配器模式,又要说到那句老话了。计算机科学领域的任何问题, 都可以通过添加一个中间层来解决。适配器模式也是这样的一个中间层。 那么它的出现主要是要解决什么问题呢?我们现实生活中的太多事软件系统都是按照分层架构来构建的,自顶向下。有时候我们会遇到这样一个问题:现在软件已经写完了,可以正常工作了。但是现在需求发生了变动。之前软件设计的是支持Android平台。现在需要同时支持iOS平台了。但是我们原创 2017-11-17 14:45:32 · 2978 阅读 · 0 评论 -
设计模式 -- 单例模式
随着项目经验的增长,在工作过程中我们或多或少会涉及到设计模式相关的内容。设计模式是那些巨人们在漫长的软件开发过程中总结出来的对一些问题的通用的解决方案。或者称之为解题思想。正如我们大家所知道一样,从来没有一个设计模式的类库可以供大家直接调用的。而原因也就在于设计模式这东西没有固定的。它是一些经验的总结,一些问题的解决思路的总结,它不针对于任何某一特定产品和业务。而运用它则需要我们理解它并用这些方案和原创 2017-11-09 17:15:03 · 3202 阅读 · 0 评论 -
设计模式--工厂模式
工厂模式可以说是我们日常工作过程中使用比较多的一个设计模式了。如果系统比较小,也比较简单,我们可能会直接选择最简单的一种工厂模式即简单工厂模式例如,我们定义了一个Animal 接口:interface Animal{ public void printInfo();}包含一个 printInfo 方法, 用来自我描述。 然后我们定义两种动物。一种是Cat 另一种是Dog。都实现Anima原创 2017-11-10 15:22:16 · 3189 阅读 · 0 评论 -
设计模式--代理模式
代理模式在我们日常开发中也是一个很重要的设计模式。我们见到的代理可以分为两种,分别是静态代理和动态代理。 我们先来看看代理的概念吧,假如我们现在有两个类,分别为Client类和Subject 类,在实现某一业务逻辑时,Client需要与Subject进行交互。出于某些考量,我们不能让Client直接调用Subject提供的接口,这些因素可能包括但不限于:控制Client对Subject的访问权限原创 2017-11-15 15:06:21 · 2986 阅读 · 0 评论 -
设计模式--观察者模式
观察者模式可以说是相当相当重要的一个设计模式,很多设计框架都是基于这一个设计模式的。比如我们最最熟悉的MVC,MVP,MVVM。那么观察者模式到底要解决一个什么问题呢? 现在假如在我们的系统中有A,B两个大的模块。我们可以先做这样一个假定。A模块在系统中负责信息展示与输入。B模块负责数据处理与存取。当上层用户通过A向整个系统输入数据后,A可以直接与B进行交互,把数据直接设置给B模块。然后B模块原创 2017-11-16 14:49:57 · 2993 阅读 · 0 评论 -
设计模式--策略模式
在面向对象程序设计过程中,我们常常说道利用多态这个特性,我觉得策略模式是最最原始的利用多态的一个设计模式了。 拿一个现实中的例子来澄清整个过程吧,比如两个人A,B同时去沃尔玛买一袋米,对于这袋米的销售价格,沃尔玛方面是这样规定的:普通用户:原价100元会员用户:原价基础上打八折所以针对不同的角色我们需要套用不同的价格算法。这时候我们引入策略模式就恰如其分了。 首先我们定义一个大米类:cla原创 2017-11-16 16:00:40 · 2969 阅读 · 0 评论 -
设计模式--外观模式
外观模式应该是我们再实际项目中常常使用的一种设计模式。或者说其实在使用的时候自己都不感觉在使用一种设计模式在编程。它其实就是直接体现了在系统中增加一个中间件将使代码逻辑更加简洁清晰这样一种思想。比如我们需要编写一个媒体播放器。一般外面的调用者就只能看到一个Player类了而不用去关心内部的实现细节。当需要播放一个内容时就直接 Player.play(url) 就完成了我们关心的媒体播放业务。而至于底原创 2017-11-17 13:18:31 · 3014 阅读 · 0 评论 -
C语言面向对象
在我们的印象中,C语言是一个面向过程的语言。应该是和面向对象没有什么关系的。但是在我们的实际开发中,如果我们真的决定使用C语言来完成一个大型的项目的化。纯函数式的编程,纯面向过程式的设计还是会让代码很难维护和理解的。所以一般的C语言项目中是或多或少会去尝试一些面向对象的设计的。那么用C 语言怎么实现面向对象呢?结构体+函数指针。基本就是这个套路了。比如我们想要定义一个Person 类。那么用Java原创 2017-08-30 17:01:24 · 2845 阅读 · 0 评论 -
C 语言面向对象-- 多态
在面相对象的设计过程中,很重要的一个特性就是实现运行时多态。在我们的前面一篇文章中我们讨论过了如何实现继承。那么这篇文章中我们就将着上一次的例子,来说说在C语言中如何利用语言的灵活性来实现多态。C 语言面向对象– 继承 C 语言面向对象– 多态在继承的例子里,我们实现了一个基类 Persontypedef struct _person{ char name[128]; int原创 2017-11-09 14:56:26 · 3435 阅读 · 0 评论