C# 版本设计模式(Design Pattern)---------------总序

  今天在写代码的时候,突然想到了一个非常有趣的问题,就是非常经典的一个问题:猫叫了,老师跑了,主人醒了。

也不知道自己脑子里面在想些什么,怎么突然蹦出来了这个想法,后来想想,是时候该谢谢关于设计模式的博客了,虽然设计模式对于程序猿来说应该不是一个陌生的技术。

设计模式主要是教大家如何写代码,更确切的说法应该是怎么组织代码,使代码更加优雅。使程序编码成为一门艺术。

那如何去理解“组织代码”呢?这本身就是一个非常有趣的问题。我在学C#,Java,PHP的时候,脑子中有这么一个疑问,这些编程语言能干什么?我相信很多菜鸟都会有这么个疑问。中招的童鞋们,请举手。

这个看似有趣的问题,其实是大伙不会组织代码。我记得我的第一份程序猿的工作,我们主管就告诉我,怎么感觉你不会写程序呢,很桑心。

我在看面试简历的时候,很多刚毕业的学生,都会说,我精通C#或者Java等等。都觉得自己很牛X的样子,其实我也是这么认为的。那问题出现在哪里呢?这让我想起来另一个程序猿的一个比喻,非常的恰当,虽然这个程序猿我不知道他是谁,都是在网上看到的,他是这么说的:你非常熟悉26个英文字母,你却不一定认识所有的单词。是不是很牛……^_^

一语中的,其实那些学生是没有工作经验,没有说明白一个道理:一个前提隐含的条件是:我的精通,是精通语法。所以说写代码,我认为主要的还是锻炼我们的逻辑思维能力,各种编程语言只是解决问题的一个工具。只有明确需求,怎么做,是传统的桌面程序,还是移动端,还是服务等等,然后我们所能够做的就是选择能够解决这个需求的最方便的工具,即编程语言。

简单说了一些自己的这几年来,编程的一些感悟罢了。在后面设计模式系列的文章中,将不定期更新设计模式。

一方面自己再熟悉一下,另一个方面给初学者一个定心丸。学程序嘛,总得有个过程。慢慢来吧,路漫漫其修远兮,吾将上下而求索

给大家推荐一本书吧:《大话设计模式》,我学设计模式的时候,选的就是它,挺不错的。这可是我的密码,千万不要告诉其他人。如何获得这本书呢,去书店或晚上买一本,土豪的做法呀……^_^.在天朝,对于手头不富裕的程序猿们,大家都懂得哈,我可什么也没说。

鼓励正版,“拒绝”盗版

时间: 2024-10-05 06:32:36

C# 版本设计模式(Design Pattern)---------------总序的相关文章

简单工厂设计模式(Simple Factory Design Pattern)

[引言]最近在Youtub上面看到一个讲解.net设计模式的视频,其中作者的一个理解让我印象很深刻:所谓的设计模式其实就是运用面向对象编程的思想来解决平时代码中的紧耦合,低扩展的问题.另外一点比较有见解的是,区分了设计模式(Design Pattern),结构模式(Architecture Pattern),架构类型(Architecture Style). 如下图所示 Design Pattern:是基于代码层面的,就是针对解决功能模块之间的问题而采用恰当的设计模式,比如依赖注入,简单工厂,适

C# 版本设计模式(Design Pattern)(转)

C# 版本设计模式(Design Pattern)---------------总序 今天在写代码的时候,突然想到了一个非常有趣的问题,就是非常经典的一个问题:猫叫了,老师跑了,主人醒了. 也不知道自己脑子里面在想些什么,怎么突然蹦出来了这个想法,后来想想,是时候该谢谢关于设计模式的博客了,虽然设计模式对于程序猿来说应该不是一个陌生的技术. 设计模式主要是教大家如何写代码,更确切的说法应该是怎么组织代码,使代码更加优雅.使程序编码成为一门艺术. 那如何去理解“组织代码”呢?这本身就是一个非常有趣

DP什么意思 design pattern 设计模式

DP  design pattern 大话设计模式  中的DP 是设计模式的意思 设计模式的书 ,最经典最原始的就是 GOF 的<设计模式>了. 设计模式的书基本上大多是以这 20 多个模式分开讲.含<大话设计模式> 学了 OOL 写的程序基本上是 OB 的. 只有慢慢掌握了 DP 才能写出真正的 OO 程序. 思想 -> 设计原则 -> DP -> OOD

Design Pattern 设计模式1 - Strategy 1

实现 : Defferent Heros attack Defferently. - 不同的英雄使用不用的招数 Strategy设计的思路: 基类A,更加小的基类B,新的继承类C: 1 从基类A中抽出一个更加小的基类B 2 利用这个更加小的基类B实现不同的效果 3 把这个更加小的基类B包含进基类A中去 4 新的继承类C只需要和基类A打交道,设计不同行为,不需要理会更加小的基类B #pragma once #ifndef _STRATEGY_HEROS_H #define _STRATEGY_HE

State Design Pattern 状态设计模式

设置好内部状态,然后根据不同的函数作为行为模式,进行状态转换. 有点像Finite Automata算法,两者的思想是一样的. 会Finite Automata,那么这个设计模式就很容易了. #pragma once #include <stdlib.h> #include <math.h> #include <random> #include <time.h> enum STATES { FULLY_RENTED, WAITING, GOT_APPLICA

Design Pattern Prototype 原型设计模式

Prototype设计模式其实就是利用一个深拷贝的功能,在原有的类中,通过一个clone函数,创建一个新的类,并可以利用好原有的数据. 这样可以轻易clone出多个新的对象操作,而且都有各自的内存空间. #include <string> #include <iostream> using namespace std; class MultiData { protected: bool b; char c; string s; int a; public: virtual Mult

State Design Pattern 状态设计模式2

其实本设计模式可以实现一些像人工智能式的问答. 这个跟人回答问题差不多,根据不同的问题作出不同的回答,而且在不同的状态,也会作出不同的回答. 如果有大量的数据,那么就可以作出千变万化的问答效果来哦. #include <stdio.h> enum STATE { HUNGARY, EAT, FULL }; class State { STATE myState; public: State(STATE s = HUNGARY) : myState(s) { } void eat() { swi

Abstract Factory Design Pattern 抽象工厂设计模式 - 总结

Abstract Factory Design Pattern 就是一般的Factory Design Pattern的进一步设计,增加一个抽象工厂,然后利用这个工厂可以创建不同基类的类. 当我们需要创建更多不同类的时候就可以使用这个设计模式了. 这个设计模式的代码相对会多点,但是其中的思想就是一般Factory Design Pattern,然后集合更多的基类,看起来挺大的一个设计模式,其思想是挺简单的. 其中具体的实现细节当然是可以有多种实现方法的: 1 利用Factory的基类衍生出不同的

Flyweight Design Pattern 共享元设计模式

就是利用一个类来完成多种任务,不用每次都创建一个新类. 个人觉得这个设计模式在C++里面,好像可以就使用一个函数代替,利用反复调用这个函数完成任务和反复利用这个类,好像差不多. 不过既然是一个设计模式,那么就使用类来完成任务.而对于Java来说是不面向过程的,故此就必须使用这个设计模式了. 我这里设计一个仓库来保存这样的类,需要的时候反复取出来使用. 非常简单的设计模式: #include <stdio.h> class ReusedObject { public: ReusedObject(

Design Pattern Bridge 桥设计模式

桥设计模式其实就是一个简单的has a relationship,就是一个类拥有另一个类,并使用另一个类实现需要的功能. 比如遥控器和电视之间可以使用桥设计模式达到可以使用同一个遥控器控制多台电视机的目的. 这样的设计思想是多种设计模式反反复复使用基本思想. 仔细思考下会发现多种设计模式的底层思想其实是相通的,不过具体实现或者某些细节,应用等有那么一点差别罢了. 下面就实现一个TV和remoter类,其中的remoter是可以随时更换的. #include <stdio.h> class Re