程序设计思想
文章平均质量分 89
一些常用的设计模式和tips
王帅真
这个作者很懒,什么都没留下…
展开
-
《冒号课堂》读后感:1 开班导言
1.1 开班发言——程序员的四种境界首先开篇就是一句:授人以鱼不如授人以渔。这点我非常赞同,计算机更是如此,技术迭代更新那么快,我们要抓的是技术本质,是思想!今天有springboot,明天就可以有summerboot今天有Java,明天就能有Gama对于不变的东西,学透学明白来,学会举一反三,这比什么都重要(本书前半部分讲的编程范式就是这样的东西)接着谈到了“程序员的四个境界”:本班的宗旨是:学会不如会学,会学不如会用,会用不如被用。对于一个软件开发者来说,这意味着四个阶段:1.学会(原创 2021-05-28 15:49:27 · 207 阅读 · 1 评论 -
(FZU)面向对象分析设计考试复习【历年卷】
对象识别与职责划分,是OO设计永恒的主题。(以下非标准答案,仅代表个人理解,欢迎批评指正)填空题面向对象基本知识面向对象理论认为对象比函数更稳定,更适合作为程序的基本构成单位OOP分析方法在做领域分析时,不仅要梳理业务流程,更是要发现对象从软件的角度来看,对象是一个完备的软件模块,因为其内部包括了数据和处理这些数据的方法(函数)OOP中,父类指针可以指向子类,这体现了IS-A这个检测继承关系的准则IS-A代表的是类之间的继承关系HAS-A代表的是对象和它的成员的从属关系类之间.原创 2020-11-19 16:42:57 · 1376 阅读 · 1 评论 -
二学单例模式
二学单例模式哎呀!单例都学烂了,有什么好学的啊?因为今天看《Head First 设计模式》看到了一些细节部分,决定重新认识一下单例应用场景线程池缓存注册表工厂对话框偏好设置…普通的单例我们先来看看public Single{ private static Single singleInstance; private Single(){} public static Single getSingleInstance(){ if(singleIn原创 2020-06-08 17:05:38 · 149 阅读 · 0 评论 -
二学“面向接口编程”
面向接口编程——遵循契约办事虽然之前学过【策略模式】,知道要面向接口,而不是面向实现,那么真的有get到精髓吗?接口的本质是什么?——代码世界里的契约。接口里的一个个方法,就是契约的条款OOP中和接口非常相似的就是抽象类,这经常被大家拿来比较,虽然我之前也写过了,但我还是想再说一遍接口和抽象类——它们其实分工明确首先它们相似在哪?——没有具体实现逻辑!那差在哪呢?我们先看例子先:// 抽象类abstract class Door { abstract void open();原创 2020-06-05 10:14:19 · 232 阅读 · 0 评论 -
异常,天使还是魔鬼
异常,天使还是魔鬼?我们写代码分两种:自信,愉快地写的,业务逻辑正常忐忑,苦恼地写的,小心处理各种错误和意外逻辑为了缓解负面的情绪,OOP的异常机制横空出世!try { //主体逻辑}catch(Exception e) { //异常逻辑}finally { //公用的清理工作,不要在这return}这个机制就像是伏妖袋一样的,捕到了,贼开心;没捕到呢???三个江湖派别将对异常的态度,对所有编程语言分一下类:嗤之以鼻派:C【用个毛】拥趸派:Java、C#【用原创 2020-06-03 17:16:04 · 250 阅读 · 0 评论 -
别再if到底啦:if-else的多面性
if-else的多面性if-else有什么好讲的啊?这么简单的逻辑判断,天天都在写的玩意儿啊。NO!两条兄弟语句有时候,if-else经过转换,可能会更好语句一:条件表达式就比方说取个最小值吧:if(a > b){ min = a;}else{ min = b; }我们把它转换一下:min = (a < b) ? a : b;看起来似乎更加晦涩啊,要适应啊!!!!!它甚至可以被嵌入在声明式语言里的,这块骨头要啃的!语句二:switch-case语句i原创 2020-06-01 22:17:31 · 415 阅读 · 0 评论 -
二学static:挖掘一件神秘武器——static
挖掘一件神秘武器——static今天刚好看了《Effective Java》的Item1静态工厂,那就顺便把static复习一下叭!神秘在哪(这里我们之讨论OOP中的static所修饰的函数和数据)首先,什么是static数据?同属一个类的对象所共有的变量(基本)在应用层面,它代替了全局变量的存在(毕竟在Java、C#这种OOP纯度高的语言,没有全局变量)接着,static函数有什么不可代替的地方吗?静态函数只能操作静态数据可由类本身直接调用,不必创建对象static特性原创 2020-06-01 14:09:51 · 197 阅读 · 0 评论 -
Effective Java学习(一):创建和销毁对象
创建和销毁对象Item1:考虑用“静态工厂”,而不是“构造器”先来看个静态工厂的典型例子// translate a boolean primitive value into a Boolean object referencepublic static Boolean valueOf(boolean b) { return b ? Boolean.TRUE : Boolean.FALSE;}要注意的是,与设计模式中的“工厂模式”不同!好处好处一:静态工厂有名字,而构造器没有可读原创 2020-05-31 11:43:23 · 147 阅读 · 0 评论