搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
.NET实践之旅.C#篇
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787030286536
  • 作      者:
    黄凯波编著
  • 出 版 社 :
    科学出版社
  • 出版日期:
    2010
收藏
编辑推荐
    《NET实践之旅:C#篇》介绍一个刚刚入行的职场新人如何拿起手边简单的武器解决所遇到的问题,度过第一年的“黑暗”时光。同时采用比较的方法介绍.NET Framework 4.0(C#4.0)的一些重要知识。《NET实践之旅:C#篇》介绍每个关键环节中一些非常简单、实用的技巧,对问题的分析以及最终解决的思路针对新手的特点,采用实例的方式,结合实际项目来引入.NET Framework重要的知识点,说明为什么用它们,怎么使用,并且阐述这些技术的限制,以帮助读者形成自己的技术判断能力。<br>    全球外包100强企业文思创新资深副总裁张涛<br>    帮你应对最新开发平台的挑战VisualStudio2010+C#4.0<br>    足够“大”又足够“小”的实例<br>    完整开发流程,进行思维训练<br>    结合必备知识与解决问题的方法<br>    《NET实践之旅:C#篇》帮助你解决的问题。<br>    作为团队的新丁,我该做什么,不该做什么?<br>    遇到一个解决不了的技术问题,该怎么办?<br>    技术发展得太快,我该怎么学习?<br>    我最怕被问及什么时候能完成某个任务!<br>    我最烦做计划!<br>    编写原则:<br>    学习应该从某个工具的缺陷开始,称为“边际学习法”The Law of Leaky Abstract|ons(抽象缺失定律,由Joel Spolsky于2002年提出)<br>    软件开发周期的关键环节<br>    |关键技术调研|计划制定|架构设计|需求变更|重构|软件测试|错误诊断。
展开
内容介绍
    《.NET实践之旅:C#篇》通过一个模拟的实例,逐步介绍解决问题的思路、方法和良好的习惯,帮助刚入行的人员拿起边简单的武器解决所遇到的问题。同时采用比较的方法介绍.NET Framework 4.0(C#4.O)的一些重要知识点。《.NET实践之旅:C#篇》分为主辅两大部分:第一部分为主线,讲述一个足够“大”(同时也是足够“小”)的模拟工程;第二部分为辅线,介绍c#以及.NET Framework的基础和特性,采用结合实际工程的方式来引入这些重要 的知识点,说明为什么用它们以及怎么使用,并且阐述这些技术的限制,以帮助读者形成自己的技术判断 能力,这些知识也是公司比较喜欢的面试题。两个部分相互索引,相辅相成,让读者了解实际工作中可能遇到的问题和所需的知识点,也可以反过来学习这些技术在实际工作中是如何选择和应用的。<br>    最重要的是,《.NET实践之旅:C#篇》将作者工作时的心得体会穿插在章节之中。书中所有的关键技术术语也会在括号中 给出对应的英文单词,以方便读者阅读及搜索外文资料。<br>    《.NET实践之旅:C#篇》针对因工作等需要使用c#(.NET Framework)来完成软件项目的人群,可供c#编程人员参考,也可作为大中专院校使用c#进行编程课程的教材。
展开
精彩书摘
    本章介绍笔者在实践过程中最朴素实用的计划制定的原则和一些方法的细节。当读者进入一个公司并到特定的小组开始工作就会发现,每个公司甚至小组所采用的具体细节都会有差别。小的差别可能是术语的称谓,大的会涉及到范畴。有的可能不会把技术纳入工程计划考虑的范畴。也许是因为技术架构已经很完善而无须考虑,这是件好事。比较糟糕的情况是工程经理不太懂技术,他汉法预测,工程中的高级技术人员(做了门,年技术,自以为厉害的)也无法预估时间,或者懒得预估时间,又或者怕估错时间到时候被责难。一旦工程延期,大家都会拿所有武器“自卫”。这也是为什么笔者强调时间预估不是承诺。作为刚加入公司的新血液。我们是无法改变这些现状。这套方法可以用来评估自己的工作量。看自己的任务是否合理:自己是否能在限期之内完成任务:看自己是不是在关键路径上:看整个团队是不是有潜在的风险等。可以对计划提供一些有益的建议,最糟糕的情况也能做到心中有数,早做准备。
展开
目录
Chapter 01工程开始(ProjectKickoff)<br>1.1 一个工作上的小问题<br>1.2 问题的快速分析<br>1.3 关键技术调研<br>1.3.1 查找已存在的方案<br>1.3.2 动手写第一个程序(第一个原型)<br>1.3.3 一步研究的成果(第二个原型)<br>1.3.4 代码整理<br>1.4 本章总结<br>Chapter02需求分析和工程计划<br>2.1 头脑风暴法(Brainstorming)<br>2.2 把功能归类<br>2.3 关键路径法(Critical Path Method)<br>2.4 本章总结<br>Chapter03先行<br>3.1 命名规范(NamingNotations)<br>3.2 编码约定(CodingConventions)<br>3.3 版本控制(RevisionControl)<br>3.4.本章总结<br>Chapter04快速原型<br>4.1 计划变更及分析<br>4.2 实现搜索局域网内机器的功能<br>4.3 单元测试与调试基础<br>4.3.1 使用MbUnit<br>4.3.2 使用NUnit<br>4.3.3 组合参数测试<br>4.4 功能整合<br>4.4.1 设计简单的用户界面<br>4.4.2 整合搜寻局域网内机器的功能<br>4.4.3 整合发消息功能<br>4.5 本章总结<br>Chapter05重构之上:多线程<br>5.1.NETFramework的多线程编程<br>5.2 使用子线程来搜索IP地址<br>5.3 依据CPU个数创建多线程<br>5.4 使用线程池(ThreadPoo1)<br>5.5 使用异步编程模型(APM)<br>5.6 使用并行扩展(ParallelExtensions)<br>5.7 优化算法<br>5.8 本章总结<br>Chapter06重构之下:设计<br>6.1 程序设计简述<br>6.2 Object-oriented思想<br>6.2.1 封装(Encapsulation)<br>6.2.2 继承(Inheritance)<br>6.2.3 多态(Polymorphism)<br>6.3 O-O设计的原则<br>6.3.1 Open-closedPrinciple(OCP)<br>6.3.2 LiskovSubstitutionPrinciple(LSP)<br>6.3.3 DependencyInvesionPrinciple(DIP)<br>6.3.4 InterfaceSegregationPrinciple(ISP)<br>6.3.5 Single-ResponsibilityPrinciple(SRP)<br>6.3.6 Composition/AggregationPrinciple(CARP)<br>6.3.7 LawofDemeter(LoD)<br>6.3.8 InversionofControl(loC)<br>6.4 设计模式基础<br>64.1 DesigningfromContext(依据应用设计)<br>6.4.2 动机A(工厂方法模式)<br>6.4.3 动机B(抽象工厂模式)<br>6.4.4 动机C(生成器)<br>6.4.5 动机D(单件)<br>6.4.6 动机E(反射对单件的扩展)<br>6.4.7 动机F.(配置对工厂的扩展)<br>6.4.8 动机G(IDisposable)<br>6.4.9 动机H(泛型扩展)<br>6.5 本章总结<br>Chapter07.NET的诊断(Diagnostics)<br>7.1 简要介绍<br>7.2 Debugger类<br>7.3 DebLJg类<br>7.4 Trace类<br>7.5 定制化诊断信息<br>7.5.1 TraceSource类<br>7.5.2 配置监听器(TraceListeners)<br>7.6 用Trace还是TraceSource<br>7.7 设计更灵活的监听机制<br>7.7.1 OutputDebugString的运行机制<br>7.7.2 程序实现<br>7.8 本章总结<br>PART02.NETFramework基础<br>Chapter 08c#语言基础<br>8.1 字符串操作(StringOperation)<br>8.1.1 String<br>8.1.2 StringBuilder<br>8.1.3 字符串操作的效率<br>8.1.4 正则表达式(RegularExpression)<br>8.2 C#的数据类型<br>8.2.1 值类型(ValueType)<br>8.2.2 引用类型(ReferenceType)<br>8.2.3 类型的赋值与参数传递<br>8.2.4 装箱、拆箱(Boxing/Unboxing)<br>8.2.5 可为空类型(NullableTypes)<br>8.2.6 匿名类型(AnonymousTypes)<br>8.3 自定义类型<br>8.3.1 命名空间(namespace)<br>8.3.2 结构(struct)<br>8.3.3 接口(interface)<br>8.3.4 类(class)<br>8.3.5 枚举(enum)<br>8,3.6 自定义扩展方法<br>8.4 集合(CoIIections)<br>8.4.1 System.Arrav<br>8.4.2 System.ColIectiorls<br>8.4.3 System.CoIlections.Generic<br>8.4.4 容器使用的算法<br>8.4.5 多核线程中的集合<br>8.5 文件I/O与流<br>8.5.1 文件及目录操作<br>8.5.2 文件读写<br>8.5.3 异步文件读写<br>8.5.4 MemolyMappedFiles<br>8.5.5 文件压缩<br>8.5.6 Environment<br>8.6 预处理器指令<br>8.6.1 分隔代码段落<br>8.6.2 条件编译指令<br>8.6.3 开/关编译信息<br>8.6.4 Conditional与#if/#end比较.<br>Chapter 09.NETFramework的特性<br>9.1c#对模板的支持<br>9.1.1 模板类型和模板方法<br>9.1.2 模板的优势<br>9.1.3 C#模板的约束<br>9.1.4 C#模板的类型转换<br>9.2 平台调用服务<br>9.2.1 调用非托管的DLL函数<br>9.2.2 托管与非托管的数据类型映射<br>9.2.3 映射非托管的结构(struct)<br>9.2.4 MarshalAs辅助类<br>9.2.5 Platformlnvoke的错误处理<br>9.2.6 (U)IntPtr和SafeHandle..<br>9.2.7 CER(执行区域)<br>9.2.8 小结<br>9.3 Object的生命周期<br>……<br>参考资源
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证