`
文章列表
转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39759199   装饰者(Decorator)模式:动态地将责任附加到对象上,若要扩展功能,装饰者提供了比继承更具有弹性的替代方案。对于装饰者模式,它其实是一种包装,所以我更愿意称它为一种包装。像咱们以前经常使用的Java里面的IO流就用到了装饰者模式。比如:BufferedReaderbr = new BufferedReader(new InputStreamReader(new FileInputStream(file1)));这里file1为目标对象,而像BufferedR ...
转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39755577   观察者(Observer)模式定义:在对象之间定义了一对多的依赖关系,这样一来,当一个对象改变状态时,依赖它的对象都会收到通知并自动跟新。Java已经提供了对观察者Observer模式的默认实现, Java对观察者模式的支持主要体现在Observable类和Observer接口。先看uml模型图:     一、UML模型图 二、代码实现 /** 示例:咱们去菜市场买菜 * * 小商贩--主题 */ class Food extends ...
转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39721563   今天开始咱们来谈谈Java设计模式。这里会结合uml图形来讲解,有对uml建模不熟的可以参考我的另一篇博文uml建模。   首先,个人觉得模式的设计就是一个将变化的东西和不变(稳定)的东西分离的过程。咱们的应用中可能有很多需要改变的地方,而模式要做的就是把它们“抽取”出来并进行“封装”和“实现”,因此更多的时候咱们是面向接口编程。下面将结合《Head First 设计模式》这一书中的某些具体案例以及本人的理解进行讲解。如果大家透过看图能说出是哪种模式并能进行具 ...
转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39643669 LinearLayout是Android控件中的线性布局控件,它包含的子控件将以横向(HORIZONTAL)或竖向(VERTICAL)的方式排列,按照相对位置来排列所有的子控件及引用的布局容器。超过边界时,某些控件将缺失或消失。因此一个垂直列表的每一行只会有一个控件或者是引用的布局容器。 一、LinearLayout线性布局的相关属性说明:
今天接着上一节的内容,继续来了解uml剩下的几种的静态建模和动态建模。 三、对象图:主要用来表现对象的特征,展示多个对象的特征及对象之间的交互。就拿咱出行旅游使用交通工具为例,如图: 说明:对象图只在系 ...
今天接着昨天的内容,继续来了解uml的静态建模和动态建模,希望大家通过这两天的了解能加深对uml建模的理解并在以后的项目开发中加以应用。   核心UML图分类: ---> “独孤九剑” 静态建模:[用例图]、[类图]、对象图、组件图、部署图。 动态建模:[时序图](sequence diagrams)、状态图、活动图、协作图。   核心UML图的定义及使用: 一、 用例图:主要用来展示系统的核心功能及其交互的用户或系统。 举例说明:相信上一篇已经写的很清楚了,这里简单贴一张图。 ===================== Num1.用例图============== ...
由于uml(统一建模语言)在开发中经常会用到,特别是在软件开发中的OOAD阶段,因此要理解和使用uml显得尤为重要。在uml开始之前,咱先回顾一个OOAD、OOP的主要特征。   OOAD:根据面向对象的方法学来对软件系统进行分析和设计的过程。它包括OOA 分析阶段和OOD设计阶段。其中分析阶段主要解决“What to do?”的问题,而设计阶段主要解决“How to do?”的问题。具体来说就是:在OOA分析阶段咱要做的主要工作就是建立对业务问题域的视图(建立模型)、列出系统必须要完成的核心任务、列出针对此问题域的最佳解决方案;而在设计阶段咱要做的主要工作是:如何解决具体的业务问题,引 ...
Android的优势:源代码完全开放,便于开发人员更清楚的把握实现细节,有利于开发出更具差异性的应用;Android 它是基于Linux内核(内核提供系统核心服务,如进程、内存、电源管理,网络连接,驱动与安全等);它采用了对有限内 ...
标签管理 通常咱们发布(release)一个版本时需要打标签,这样可以方便咱们以后要取某个标签版本时,直接把那个相应标本的历史版本取出来即可,它其实是一个版本快照。 标签和分支有点像,都是指向某个commit的指针,但分支是可以移动的,而标签是不可以移动的,并且创建和删除标签的过程是非常快的。 咱先切换到主分支master,然后再对它打标签: 咱们可以通过git tag来查看所有标签: 标签默认是打在最新的提交上,有时候如果咱们忘了打标签,前两天该打的标签没有打,这时咱们采用的方式是,找到以前的历史提交的id,然后再打上标签即可: 比如这时我们要对add 1.txt打上 ...
当咱们拿到一个新的bug或者feature(功能)时,首先应该想到通过分支来完成咱们的任务。因为在软件开发中,总是会根据客户的需求不断的添加新的feature进来,同时在做移动开发过程中bug也可以说是“常客”。通过前几章的内容 ...
解决分支冲突 通常当Git无法自动合并分支时,就必须首先解决冲突后,再提交。 下面咱们先创建一个分支并切换到b1分支: 修改咱们之前的hellogit.txt内容,添加一行:Create a new named f1 branch 查看该文件的状态,并提交至本 ...
分支管理在咱们实际工作中经常用到,因此掌握分支对于咱们从事移动开发并且使用到了Git这样的分布式版本管理工具来说是很有必要的。比如当你饿了的时候,甲帮你做饭,一帮你烧菜: 当然你也可以自己做饭烧菜。但是 ...
创建GitHub账号及获取SSH秘钥对 创建远程仓库通常有两种方式: 1、把一台电脑充当服务器,让它每天开机,其他人都从这台“服务器”仓库clone一份到自己的电脑上,并把各自的修改(包括添加了新的feature、解决了新的bug等)提 ...
本电子书涵盖了java基础大部分内容。在编写的过程中,难免会出现一些错误,希望大家能多多提些意见。 由于本书都是从笔者CSDN博客中摘抄过来的,基本没有经过什么正规的校验,所以难免会出现一些不对的地方。欢迎各位大牛对本书提出批评。 作者博客:http://blog.csdn.net/lhy_ycu 作者邮箱:lhy_ycu@163.com
本电子书涵盖了java基础大部分内容。在编写的过程中,难免会出现一些错误,希望大家能多多提些意见。 由于本书都是从笔者CSDN博客中摘抄过来的,基本没有经过什么正规的校验,所以难免会出现一些不对的地方。欢迎各位大牛对本书提出批评。 作者博客:http://blog.csdn.net/lhy_ycu 作者邮箱:lhy_ycu@163.com
Global site tag (gtag.js) - Google Analytics