今天,在坊间听到有人在争论OC中关于NSString的深浅复制,听了下,感觉很有必要来一个分析总结,让我们从底层去了解OC中深浅复制的运作机制.
所谓copy就是在原有对象的基础上产生一个副本对象,遵循最关键的两点原则: 1. 改变原对象的属性和行为不会对副本对象产生任何影响 2. 改变副...
分类:
其他好文 时间:
2014-05-26 20:11:38
阅读次数:
232
学习要点:1.OOP 的封装2.OOP 的继承3.OOP
的多态面向对象的三个主要特性是封装、继承和多态。一.OOP的封装隐藏对象的字段和实现细节,仅对外公开接口,控制在程序中字段的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机...
分类:
其他好文 时间:
2014-05-26 19:19:44
阅读次数:
228
今天我们想与大家分享一个小的动画概念。这个梦幻般的效果是在马库斯·埃克特的原型应用程序里发现的??。实现的基本思路是对网格项目进行 3D
旋转,扩展成全屏,并呈现内容。我们试图模仿应用程序的行为,因此创建了两个演示,分别演示垂直和水平旋转网格项。
分类:
Web程序 时间:
2014-05-26 16:43:25
阅读次数:
409
适配器模式,将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
应用场景:系统的数据和行为都正确,但接口不符时,我们应该考虑用适配器,目的是使控制范围之外的一个原有对象与某个接口匹配。适配器模式主要应用于希望复用一些现存的类,但是接口又与复用环境要求不一致的情况。
代码实现:
//Adapter.h
#inc...
分类:
其他好文 时间:
2014-05-25 23:14:58
阅读次数:
271
《设计模式》对状态模式的定义:允许一个对象在其状态改变时,改变它的行为。看起来对象似乎修改了它的类。别名:状态对象(Objects for State)。
在下面两种情况下均可以使用State模式:
1 一个对象的行为取决于它的状态,并且他必须在运行时刻根据状态改变它的行为。
2 一个操作中含有庞大的多分枝的条件语句,并且这些分支依赖于该对象的状态。这个状态通常用一个或多个枚举常量表示。通常...
分类:
其他好文 时间:
2014-05-25 22:47:41
阅读次数:
254
State模式中我们将状态逻辑和动作实现进行分离。允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类;在一个状态即将结束的时候启用下一个状态。
1 /////////state.h//////////////////////////////////////////////////...
分类:
其他好文 时间:
2014-05-25 20:34:33
阅读次数:
296
简介:Jetty 是一个用 Java 实现、开源、基于标准的,并且具有丰富功能的 Http
服务器和 Web 容器,可以免费的用于商业行为。Jetty 这个项目成立于 1995 年,现在已经有非常多的成功产品基于 Jetty,比如 Apache
Geromino, JBoss, IBM Tivoli...
分类:
其他好文 时间:
2014-05-25 19:08:58
阅读次数:
198
jvm性能调优的目地:1)控制jvm的堆栈大小。比如当你的程序年轻代对象在某个时间段产生的比较多的时候,就需要控制年轻代的堆大小。同时还要控制总的JVM大小避免内存溢出2)控制GC的行为。GC是一个后台处理,但是它也是会消耗系统性能的,因此要根据运行程序的特点来更改GC行为。3)控制jvm线程的内存分配。如果是多线程程序,产生线程和线程运行所消耗的内存也是可以控制的。堆大小设置-Xms 初始堆...
分类:
其他好文 时间:
2014-05-25 18:22:43
阅读次数:
272
条款18:让接口容易被正确使用,不易被误用
1,好的接口很容易被正确使用,不容易被误用。你应该在你的所有接口中努力达成这些性质。
2,“促进正使用”的办法包括接口的一致性,以及与内置类型的行为兼容。
3,“阻止误用”的办法包括建立新类型,限制类型上的操作,束缚对象值,以及消除客户的资源管理责任。
4,shared_ptr支持定制型删除器。这可以防范DLL问题,可以用来自动解...
分类:
编程语言 时间:
2014-05-25 18:22:08
阅读次数:
297
经验:确保当对象自我赋值时operator=有良好行为。其中技术包括比较“来源对象”和“目标对象”的地址、精心周到的语句顺序、以及copy-and-swap。...
分类:
编程语言 时间:
2014-05-25 09:53:27
阅读次数:
233