商店类中有 sell() 方法,顾客类通过该方法购物。以下代码定义了顾客类通过北京网店 BeijingShop 购物:<br>classCustomer {<br>publicvoidshopping(BeijingShop shop) {<br>//购物<br>System.out.println(shop.sell());<br>}<br>}<br>但是,这种设计存在缺点,如果该顾客想从另外一家商店(如上海网店 ShanghaiShop)购物,就要将该顾客的代码修改如下:<br>classCustomer {<br>publicvoidshopping(ShanghaiShop shop) {<br>//购物<br>System.out.println(shop.sell());<br>}<br>}<br>顾客每更换一家商店,都要修改一次代码,这明显违背了开闭原则。存在以上缺点的原因是:顾客类设计时同具体的商店类绑定了,这违背了依赖倒置原则。解决方法是:定义“北京网店”和“上海网店”的共同接口 Shop,顾客类面向该接口编程这样,不管顾客类 Customer 访问什么商店,或者增加新的商店,都不需要修改原有代码了,其类图如图 1 所示。<br>图1 顾客购物程序的类图
为保护手机屏幕,选择贴膜是比较好的方式。目前钢化玻璃屏幕的手机比较常见,钢化玻璃屏幕只是在耐磨度上比较好,并不代表不会被划坏,从手机的使用延年性上看,钢化玻璃屏幕也需贴膜。专家提醒,消费者在选购手机屏幕贴膜时,很难直观地从透光度、耐磨度、易贴性等方面鉴别贴膜的优劣。所以在选购手机屏幕贴膜时,应注意看手机贴膜包装的完整度,正规手机屏幕贴膜厂家会标明产地、厂名、国际条形码等内容。很多人在为手机屏幕贴膜后发现气泡、灰尘,感觉贴起来有点小麻烦。其实这是操作方法不当造成的。比较常见的误区是:有的人在贴膜前认为随意选用软布擦拭屏幕即可,有时还会沾少量的清水进行清洁;贴完膜后,再用信用卡、硬卡片等进行整理。正确做法应该是:在贴膜前,要先用干的擦镜布擦拭手机屏幕表面,清洁屏幕表面的灰尘和指纹,然后撕开保护膜的一端,对准手机屏幕,从上至下一边揭开膜一边贴下。在贴膜的过程中,用信用卡、硬卡片等推着前进,尽量要保持匀速,出现气泡等少往回拉一些,这样可以使贴膜表面无气泡。