新書推薦:
《
周易
》
售價:HK$
45.8
《
东南亚的传统与发展
》
售價:HK$
69.0
《
乾隆制造
》
售價:HK$
87.4
《
资治通鉴臣光曰辑存 资治通鉴目录(司马光全集)(全二册)
》
售價:HK$
296.7
《
明代社会变迁时期生活质量研究
》
售價:HK$
308.2
《
律令国家与隋唐文明
》
售價:HK$
74.8
《
紫云村(史杰鹏笔下大唐小吏的生死逃亡,新历史主义小说见微之作,附赠5张与小说内容高度契合的宣纸彩插)
》
售價:HK$
101.2
《
现代吴语的研究(中华现代学术名著3)
》
售價:HK$
66.7
|
編輯推薦: |
你是否还在为了三层而三层?甚至不知道为什么分层。
你是否还在为项目中难以维护的SQL语句而头疼不已?
你是否还不知道MongoDB这样的非关系型数据库也可以使用ORM框架?
你是否对前端或测试这些领域也一无所知?
你是否面对高并发时手足无措?
本书将以轻松幽默的风格解决你所面临的这些问题。
|
內容簡介: |
本书共9章,分为3篇。第1篇为需求与三层架构,从一个电商网站开始引出相关话题,介绍为何要用三层架构,并介绍了ORM实体关系映射;第2篇为NoSQL和测试,主要介绍了数据库的相关技术及软件测试的相关知识;第3篇为高精尖技术,涵盖的内容有神奇的缓存、程序员眼中的前端、人生中*次高并发和微信公众号开发等。本书适合对代码架构感兴趣的初学者和爱好者阅读。另外,高校学生和相关培训学校的学员也可将本书作为兴趣读物。对于初入职场还比较迷茫的程序员,本书可以作为一本提高读物来阅读。阅读本书建议读者有一定的C#语言基础。
|
關於作者: |
田伟
自称MOL。长期从事软件开发及团队管理工作。擅长代码框架的搭建和优化。善于将敏捷方法论用于项目开发中,从而提高团队的开发效率。坚持一个原则,即自己认为好的东西应该分享给大家。提倡软件开发不仅需要工匠精神,也需要懒人精神。喜欢以幽默风趣的语言风格讲述技术问题,并以此风格著有《ASP.NET入门很简单》一书,颇受读者好评。
郎小娇
毕业于北京工业大学。现任职于某著名互联网公司,任产品经理。对方法论有独特的见解,尤其对敏捷开发的方法论颇有见解。经常把哲学思维用于工作。善于使用不同的方法论指导项目成员的工作,规避项目的风险。曾主导过某大型购物网站的架构工作,以及主要模块的设计实现。
|
目錄:
|
序言
前言
引言 1
一个架构师的例子 1
背景及人物介绍3
我们的目标3
第1篇需求与三层架构
第1章故事从一个电商网站开始6
1.1需求?需求!6
1.2敏捷开发简介8
1.3UI用户界面9
1.3.1从UE说起 9
1.3.2HTML 5 & CSS 39
1.3.3微信 10
1.4数据库 10
1.4.1PowerDesigner设计工具11
1.4.2关于SQL语句12
第2章为什么是三层 14
2.1MOL带兄弟们去吃饭 14
2.2动手写一个三层结构 16
2.2.1DAL层的实现 17
2.2.2BLL层的实现 18
2.2.3UI层的实现19
2.3简说MVC 20
2.3.1纠正一下老师的说法 20
2.3.2MVC的第一个程序21
2.3.3为什么要用MVC之我见 25
2.4向三层代码中加入面向对象25
2.4.1实例化数据库表 26
2.4.2增加数据库操作类 29
2.4.3加强版的数据库操作类 30
2.5小说代码管理33
2.5.1什么是代码管理软件 34
2.5.2TFS管理软件36
2.5.3SVN管理软件 40
2.5.4Git管理软件 41
2.6小结51
第3章ORM实体关系映射52
3.1说说OCP开放封闭原则 52
3.2解耦第一步接口要上位53
3.2.1代码结构的前提 53
3.2.2创建接口层 56
3.3解耦第二步工厂模式解决new的问题58
3.4Spring.NET横空出世61
3.4.1酒文化发展史 61
3.4.2神奇的IOC 62
3.4.3引出Spring.NET64
3.5我不想写SQL语句 67
3.5.1什么是ORM 68
3.5.2ORM之iBATIS.NET 70
3.5.3ORM之NHibernate75
3.5.4ORM之EF 86
3.5.5懒人无敌 93
3.5.6完成查询操作 106
3.5.7数据库先行、模型先行、代码先行 109
3.6小结110
第2篇NoSQL和测试
第4章换个数据库试试112
4.1客户总有一些非分的想法 112
4.2MongoDB简介 113
4.2.1安装&配置 114
4.2.2可视化工具 116
4.2.3MongoDB的基本操作 119
4.3.NET操作MongoDB 121
4.4让NoSQL面向对象123
4.4.1实体抽象 124
4.4.2操作抽象 132
4.5NoSQL题外话 135
4.6关于日志136
4.6.1为啥要写日志 136
4.6.2如何写日志 138
4.6.3注意事项 144
4.7小结145
第5章越俎代庖搞搞测试 146
5.1简单说测试 146
5.2冒烟测试147
5.3黑盒测试148
5.4单元测试149
5.4.1单元测试是什么 150
5.4.2如何进行单元测试 150
5.4.3测试驱动开发 161
5.5白盒测试162
5.6压力测试163
5.7其他测试163
5.8小结163
第3篇高精尖技术
第6章神奇的缓存166
6.1网站崩溃了 166
6.2缓存是什么 168
6.3微软提供了缓存 170
6.4自己做缓存 173
6.5第三方缓存 176
6.5.1MemCache缓存 178
6.5.2Redis缓存189
6.5.3把缓存抽象出来 197
6.5.4读写分离 198
6.6利用模板引擎生成静态页面198
6.6.1初识NVelocity 200
6.6.2使用NVelocity生成静态页面207
6.6.3静态页面带来的问题 211
6.7CDN的加入会大大减少服务器的压力 212
6.8小结213
第7章程序员眼中的前端 215
7.1常见的前端框架 216
7.2尝试EasyUI220
7.2.1基础框架 220
7.2.2常用的控件 232
7.2.3小说权限分配 247
7.3其他的前端框架 264
7.3.1Bootstrap框架 264
7.3.2jQuery UI框架265
7.4小说HTML 5 265
7.5小结266
第8章人生中的第一次高并发 267
8.1网站又崩溃了! 267
8.2从相亲说起 268
8.3简述消息队列270
8.3.1串行设计 270
8.3.2多线程设计 271
8.3.3消息队列设计 274
8.4常见的消息队列 275
8.4.1MSMQ消息队列275
8.4.2RabbitMQ消息队列282
8.5小结288
第9章微信公众号289
9.1李老板出场,请热烈鼓掌 289
9.2初探微信公众号 290
9.2.1申请订阅号 291
9.2.2小机器人 294
9.2.3把晋商卡挂到微信公众平台上 298
9.3微信小程序 299
9.3.1微信小程序是什么 299
9.3.2写一个简单的Demo 300
9.4微服务 310
9.5MongoDB数据库 312
9.6大数据 314
9.7小结316
|
內容試閱:
|
架构(Architecture)是什么?可能每个人给出的答案都不同。业界流行一句笑话:
Architecture is like teenage sex, everybody talks about it,nobody really knows what it is.
当然,MOL也不可能给出一个关于架构的准确定义。MOL更愿意把架构归为哲学的范畴。架构本身其实和软件开发并无太大关系。一个国家有自己的管理体系;一个公司有自己的组织架构;一个家庭也有独特的男权或女权的特色,小到一个人;也是可以分为自我、本我和超我的。每个事物都是由一个个更小的事物组合而成的,而这些其实都与架构相关。
在宏观世界里,所有的国家公民构成了一个国家主体,国家主体对每个公民进行管理和约束,这是架构。
在微观世界里,电子绕着原子核高速转动,始终不会脱离原子核的管辖范围。而原子核和电子又组成一个原子。原子对电子、质子、中子的管理就是架构。
本书的读者一定是软件行业的高手或菜鸟,那我们就回到软件编程的世界里。
每个软件项目都是由代码和服务器构成的,如何统筹安排代码和服务器,就是架构的范畴了。
一个项目可能要使用多台服务器,如Web服务器、数据库服务器、文件服务器、CDN如何针对不同的要求对服务器进行选型,这是架构;如何统一管理这些服务器,这是架构;如何让这些服务器平稳运行,这也是架构。
开发项目使用什么语言,是Java还是Node.js?选用什么数据库,是Oracle还是MongoDB?这是架构。
具体到开发过程中,某个模块应该如何安排,是交给DBA(数据库管理员)用存储过程来实现,还是让C#程序员访问数据库实现?这是架构。
在写C#代码的时候,采用三层架构,还是MVC?这是架构。
如何写日志,是使用IO读写文件?还是采用log4net?或者是AOP切片写日志?这是架构。
甚至具体到某种技术的时候,也有架构。比如MOL规定项目要使用MVC架构,那么使用微软的MVC,还是Spring的MVC?这都是架构。
可见,架构涉及的范围非常之广。弱水三千,MOL只给一瓢。本书将从代码架构的角度来让大家一窥架构的真面目。
C#是一门非常优雅的编程语言(当然MOL并无编程语言的偏见),所以本书中所有的代码都以C#语言来描述。
本书特色 1.风趣幽默 MOL一直比较反对平铺直叙的讲解方式,所以本书的语言风格是比较幽默的。在本书的内容中将出现3个与MOL并肩作战的兄弟(公司老大邓总不在此列),以对话形式抛出问题并解决问题。
2.案例分析 本书中只有一个项目晋商卡,但MOL会带着大家见证晋商卡从无到有的过程,大家可以在这个过程中获得很多意想不到的收获。
3.向循规蹈矩说NO 正如MOL在结语中所说,2017年是一个强调工匠精神的一年。几乎所有的人都在精益求精地做自己的事情。但MOL要分享给大家的是一种懒人精神,我们不愿意日复一日地重复昨天的自己,我们要站在更高的层面,做更少的事情,却有更多的收获。
本书内容及体系结构 第1篇 需求与三层架构(第1~3章) 本篇详细介绍了项目开发的前置节点需求,并对常见的三层架构给出了分析。在第1篇中提出了面向对象的重点概念,并让大家初步认识抽象的过程。
相信很多人一定被书中大段的SQL代码搞得云里雾里,不用担心,在第3章中MOL将带领大家完成懒人的第一步如何不写SQL代码。
第2篇 NoSQL和测试(第4、5章) NoSQL是现在比较流行的一个话题和技术。在第4章中将通过讲解MongoDB来介绍NoSQL如何使用,并且纠正大家的一个错误观念:NoSQL和ORM不能搭配使用。
第5章分享了测试的工作,并讲解了单元测试、黑盒测试、白盒测试让大家在收获的同时,也能理解测试工程师在工作中所要面临的一些痛苦。
第3篇 高精尖技术(第6~9章) 任何一个网站项目,似乎都绕不开缓存这个神奇的空间。缓存用得好,可以加快系统的反应速度。如果缓存用得不好,不仅用户体验差,还可能造成服务器宕机。第6章就分享了如何使用缓存。
每个程序员都有一个全栈的梦想,而前端又是全栈中必不可少的一部分,第7章讲解了如何使用EasyUI来搭建前端。
现在越来越多的电商网站都会做一些抢购或促销活动,当然这就使得网站不可避免地面临高并发。如何处理高并发呢?第8章将通过讲解消息队列,来说明如何应对高并发。
微信已经成了人们生活中必不可少的一部分。在2017年3月27日这一天,微信小程序也对个人用户开放了。我们如何把晋商卡挂到微信公众平台上,又如何开发微信小程序呢?这些问题都将在第9章中解决。
本书读者对象 l 对代码架构感兴趣的初学者;
l 对代码架构感兴趣的爱好者;
l 高校学生和相关培训学校的学员;
l 初入职场需要提高开发水平的开发人员。
因为书中所有的代码都以C#语言来描述,所以本书读者如果有一定的C#语言基础更佳。
本书配套资源 为了方便读者高效地学习,本书特意提供了以下配套资源:
l 本书源代码文件;
l 本书涉及的一些开发工具的安装包。
本书作者 本书主要由田伟(就是笔者MOL)和郎小娇主笔编写。其他参与编写的人员还有李小妹、周晨、桂凤林等。
读者阅读本书时若有疑问,可以发邮件到hzbook2017@163.com以获得帮助。
|
|