芝麻开门,入室登堂

金旭亮著作《.NET 4.0面向对象编程漫谈》推荐序

image .NET技术浩如烟海,没有任何一本书可以穷尽它,因为作为一个主流开发平台,它涵盖的内容实在太丰富了。然而,当我阅读完金旭亮先生的这本著作(《基础 篇》+《应用篇》),我开始对我的论断产生了怀疑。不错,本书依旧没有能够穷尽.NET,然而它在技术广度与深度的结合方面,或许称得上是无与伦比的。可 以说,.NET平台的各项重要技术,包括.NET 4.0的新特性,在本书中都得到了淋漓尽致的释放;最重要的是,作者没有人云亦云,满足于技术的表层,而是通过使用ildasm和Reflector 对.NET的类库进行了深度分析,知其然而后知其所以然,这种求真求实的探索态度殊为可贵。

所以,本书绝对不是那种大而全、号称从入 门到精通,三个月速成编程高手那样如“终南捷径”般的红宝书。关键的一点是,如何平衡好“专”与“博”之间的关系?对于技术作家而言,此难题不亚于理解技 术本身的难度。然而,金旭亮总能处理得游刃有余。这不得不说,作者的职业起到了关键的作用。“师者,传道授业解惑也。”这是为人师者的根本。教师的任务是 为学生解惑,不能故作高深,而必须循循善诱,以深入浅出的方式帮助学生高效率地理解新技术与新知识。这些技能正是成为优秀技术作家的前提。

阅读本书绝对不能浅尝辄止,我的建议是尽可能地吃透它,不要放过任何你认为无法理解,或者不会用到的特性。正如你不应该将.NET简单地看做是一门工具。技术在变化中保持常新,开发人员若要把握变化的脉络,就必须看穿技术的本质,抓住其设计的思想,它才可能是不变的。

我 特别喜欢本书讲述多线程与并行计算的内容。前者充分体现了作者在.NET技术领域中达到的技术高度,后者则因为它是.NET 4.0提供的卓越特性而备受关注。窥一斑而知全豹。这也昭示了作者的雄心,他创作本书显然并不仅仅是给读者提供一把钥匙那么简单。芝麻开门,入室登 堂,.NET技术的奥秘在本书的揭示下一览无遗。那么,如果不想在.NET这座宝山中空手而归,就从本书开始你的征途吧。

扩展阅读:

1.Bop的豆瓣主页:http://book.douban.com/subject/3004255/

2.互动网购买链接:http://www.china-pub.com/38070

3.“《编程之美》,IT人求职面试必读”链接:
http://www.google.com.hk/search?complete=1&hl=zh-CN&newwindow=1&q =编程之美+-+微软技术面试心得+邹欣&meta=&aq=f&oq=

4.《.NET4.0面向对象编程漫谈》豆瓣链接http://book.douban.com/subject/5319799/

转载于:https://www.cnblogs.com/bvbook/archive/2010/11/23/1885647.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用JS动态修改门的transform属性来实现芝麻开门的效果。具体的代码如下: ```html <!-- 在HTML中添加一个门的元素 --> <div id="door" class="door"> <div class="door-front"></div> <div class="door-back"></div> </div> ``` ```css /* 定义门的样式 */ .door { position: relative; width: 200px; height: 300px; perspective: 800px; /* 设置透视距离 */ } .door-front, .door-back { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #ccc; transform-origin: left center; /* 设置旋转中心 */ transition: transform 0.5s ease-in-out; /* 设置过渡效果 */ } .door-back { transform: rotateY(180deg); } ``` ```js // 获取门的元素 const door = document.querySelector('#door'); const front = door.querySelector('.door-front'); const back = door.querySelector('.door-back'); // 鼠标移入时打开门 door.addEventListener('mouseenter', () => { // 门向左旋转90度 front.style.transform = 'rotateY(-90deg)'; back.style.transform = 'rotateY(90deg)'; }); // 鼠标移出时关闭门 door.addEventListener('mouseleave', () => { // 门回到初始状态 front.style.transform = 'rotateY(0)'; back.style.transform = 'rotateY(180deg)'; }); ``` 上述代码中,我们首先使用CSS定义了门的样式,包括门的宽高、背景颜色、旋转中心和过渡效果等。门被分为前后两个面,通过`transform: rotateY(180deg)`将后面的门反转180度,使其看起来像是门的内部。 接着,我们使用JS获取门元素和前后两个面的元素,并为门添加了两个事件监听器,分别对应鼠标移入和移出时门的动作。当鼠标移入时,我们通过修改前后两个面的transform属性,将门向左旋转90度,从而实现门的打开效果。当鼠标移出时,我们将前后两个面的transform属性都恢复到初始状态,从而实现门的关闭效果。 需要注意的是,为了让门的旋转效果更加逼真,我们可以在CSS中使用`perspective`属性设置透视距离,使门在旋转的同时产生透视效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值